c# 将长日期字符串解析为日期时间

c# Parse Long Date string to date time

我想将长日期字符串解析为日期。

//Friday, December 19, 201421:00:44:987

这是我到目前为止所做的

DateTime.ParseExact(item.Date, "dddd, MMMM d, yyyyhh:mm:SS:fff", CultureInfo.InvariantCulture).ToShortDateString();

给出例外String was not recognized as a valid DateTime.

Friday, December 19, 201421:00:44:987表示日期,格式为星期几,月日,YearHour:Minute:Second:Milliseconds格式。

查看您的格式时,我发现 两个 错误。首先,你的stirng中的小时是21。它使用的是从0到23的24小时制。所以,你必须将hh更改为HH。第二个错误是您使用 SS 在字符串中指定秒数。您必须将 SS 更改为 ss:

DateTime.ParseExact(item.Date, "dddd, MMMM d, yyyyHH:mm:ss:fff", CultureInfo.InvariantCulture).ToShortDateString(); 

.NET Fiddle

查看 this 文章中的 table,其中描述了所有自定义日期和时间格式说明符。

或尝试一下

DateTime date = new DateTime(2015, 01, 02, 9, 23, 18, DateTimeKind.Utc);