【发布时间】:2014-07-02 18:16:34
【问题描述】:
我正在尝试将 persianDate 转换为 standarddate 。
public DateTime ConvertPersianToEnglish(string persianDate)
{
string[] formats = { "yyyy/MM/dd", "yyyy/M/d", "yyyy/MM/d", "yyyy/M/dd" };
DateTime d1 = DateTime.ParseExact(persianDate, formats,
CultureInfo.CurrentCulture, DateTimeStyles.None);
PersianCalendar persian_date = new PersianCalendar();
DateTime dt = persian_date.ToDateTime(d1.Year, d1.Month, d1.Day, 0, 0, 0, 0, 0);
return dt;
}
Persiandate 的格式如下:1392/10/12(Year/month/day)
在我的应用程序中,我试图将 Year/month/31 转换为标准时间,但出现此错误:
{System.FormatException: String was not recognized as a valid DateTime.
at System.DateTimeParse.ParseExactMultiple(String s, String[] formats, DateTimeFormatInfo dtfi, DateTimeStyles style)
我得到错误的确切值是1393/04/31
【问题讨论】:
-
这个月有 31 天吗?
-
如果你的意思是波斯语是的。波斯语中的某些月份有 31 天
-
但是您尝试转换的月份是? “字符串未被识别为有效的日期时间”valid 是这里的关键词。
-
是的,我尝试转换的时间是 1393/04/31>,正如我在问题中提到的那样
标签: c# datetime datetime-format persian datetime-conversion