DateTime.Parse抛出异常“System.Globalization.GregorianCalendar中不支持”

时间:2013-05-10 09:40:48

标签: c# string datetime

string formatString = "MMddyyyyHHmmss";
string sample = "20100611221912";
DateTime dt = DateTime.ParseExact(sample, formatString, System.Globalization.CultureInfo.InvariantCulture);

抛出的具体异常是:

System.FormatException:日历System.Globalization.GregorianCalendar中不支持字符串表示的DateTime。

2 个答案:

答案 0 :(得分:3)

您的格式应为:

string formatString = "yyyyMMddHHmmsss";

(它也可以是"yyyyddMMHHmmsss",如果是06-Noveber-2010)

考虑您的日期为dt = {11/06/2010 10:19:12 PM}(2010年6月11日)

目前的格式:

MMddyyyyHHmmss
20100611221912

MM不能是20,因为MM代表月。所以你的代码应该是:

string formatString = "yyyyMMddHHmmsss";
string sample = "20100611221912"; 
DateTime dt = DateTime.ParseExact(sample, formatString, System.Globalization.CultureInfo.InvariantCulture);

答案 1 :(得分:1)

如果您不想导入611年第20个月的第10天,则您的格式字符串或数据都是错误的。您的意思是导入"yyyymmddHHmmss"吗?