波斯日历格式的字符串未被识别为有效的DateTime

时间:2017-05-20 14:28:11

标签: c# datetime persian-calendar

我在我的程序中使用波斯日期(伊朗日期格式或Jalali日历)。

当我使用它时:

string A = "1396/2/30";
string Test = String.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(A));

我收到以下错误:

  

类型' System.FormatException'的例外情况发生在mscorlib.dll中   但未在用户代码中处理。附加信息:字符串是   未被识别为有效的DateTime。

1 个答案:

答案 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);