我在我的程序中使用波斯日期(伊朗日期格式或Jalali日历)。
当我使用它时:
string A = "1396/2/30";
string Test = String.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(A));
我收到以下错误:
类型' System.FormatException'的例外情况发生在mscorlib.dll中 但未在用户代码中处理。附加信息:字符串是 未被识别为有效的DateTime。
答案 0 :(得分:3)
创建fa-IR CultureInfo
,然后尝试使用DataTime.ParseExact()
代替Convert.ToDateTime()
。
<强>更新强>
var persianCultureInfo = new CultureInfo("fa-IR");
persianCultureInfo.DateTimeFormat.Calendar = new PersianCalendar();
string dateString = "1396/02/30";
DateTime MyDateTime = DateTime.ParseExact(dateString, "yyyy/MM/dd", persianCultureInfo);