string strHijdt ="29-02-1435";
DateTime hdt = DateTime.ParseExact(strHijdt, "dd/MMM/yyyy HH:MI24",
CultureInfo.InvariantCulture);
转换为字符串(“29-02-1435”)到日期时间时出错
答案 0 :(得分:0)
2/1435
仅有28
天
所以,下面会有效
string aa="28-02-1435";
DateTime hdt = DateTime.ParseExact(aa, "dd-MM-yyyy", CultureInfo.InvariantCulture);
Console.WriteLine(hdt.ToLongDateString());
由于您已将输入设为29-02-1435
,即使您提供了正确的日期时间格式(dd-MM-yyyy
),您也会收到无效日期的错误
答案 1 :(得分:0)
这里有两个问题: 1.如上所述,预期的格式不匹配字符串(没有时间,不同的分隔符) 2.如果您的日期字符串在Hijri日历中,您应该明确提供正确的文化或使用系统文化(为IFormatProvider传递null):
string strHijdt = "29-02-1435";
var culture = CultureInfo.GetCultureInfo("ar-SA");
DateTime hdt = DateTime.ParseExact(strHijdt, "dd-MM-yyyy", culture);