日历中不支持字符串表示的日期时间

时间:2015-12-27 15:05:08

标签: c# datetime

为什么以下结果会导致错误:

  

日历System.Globalization.GregorianCalendar中不支持字符串表示的日期时间。

var d  = DateTime.ParseExact(projectPlan.ShortDateTime, projectPlan.DateFormat, null);
projectPlan.ShortDateTime = "28/12/2015"  
projectPlam.DateFormat = "M/dd/yyyy"

我已阅读The DateTime represented by the string is not supported in calendar System.Globalization.GregorianCalendar但我的问题不同,因为我的美国日期有效

1 个答案:

答案 0 :(得分:3)

显然,您的格式和字符串不匹配。据我所知,任何日历中没有第28个月。您可能需要使用dd/M/yyyy(或MM,如果您的单个数字月份数字具有前导零)格式。

最好指定(如果)您想使用公历来指定IFormatProvider InvariantCulture,而不是使用null;

var d = DateTime.ParseExact("28/12/2015", "dd/M/yyyy", CultureInfo.InvariantCulture);