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

use*_*308 5 c# string datetime

string formatString = "MMddyyyyHHmmss";
string sample = "20100611221912";
DateTime dt = DateTime.ParseExact(sample, formatString, System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

抛出的具体异常是:

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

Hab*_*bib 3

你的格式应该是:

string formatString = "yyyyMMddHHmmsss";
Run Code Online (Sandbox Code Playgroud)

"yyyyddMMHHmmsss"(如果是 2010 年 11 月 6 日,也可以)

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

对于您当前的格式:

MMddyyyyHHmmss
20100611221912
Run Code Online (Sandbox Code Playgroud)

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

string formatString = "yyyyMMddHHmmsss";
string sample = "20100611221912"; 
DateTime dt = DateTime.ParseExact(sample, formatString, System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)