6

我正在尝试使用以下格式将日期字符串解析为 DateTime 对象:

2012 年 10 月 30 日星期二 09:51:20 +0000

到目前为止,我尝试过的是 DateTime.ParseExact() 的许多不同变体。

我努力了:

DateTime.ParseExact("Mon, 29 Oct 2012 12:13:51 +0000", 
                    "ddd, dd MM yyyy hh':'mm':'ss zzz", 
                     CultureInfo.InvariantCulture);

使用数千种不同的格式作为第二个参数,使用 null 而不是 InvarantCulture 作为第三个参数等等。我无法让它工作。我应该如何解析这样的字符串?

非常感谢。

4

2 回答 2

10

怎么样

var s = "Tue, 30 Oct 2012 09:51:20 +0000";
DateTime.ParseExact(s, "ddd, dd MMM yyyy hh:mm:ss zzz", CultureInfo.InvariantCulture)

月份 ( Oct) 实际上是MMM,不是MM,时间 ( 09:51:20) 应该是hh:mm:ss而不是hh':'mm':'ss

于 2012-10-30T15:20:07.450 回答
2

正确的解析是

DateTime.ParseExact("Mon, 29 Oct 2012 12:13:51 +0000", "ddd, dd MMM yyyy HH:mm:ss K", CultureInfo.InvariantCulture);

看看这里

于 2012-10-30T15:24:08.013 回答