4

Twitter API 返回给我的日期时间字符串如下:

“2012 年 4 月 26 日星期四 11:38:36 +0000”

我需要将其转换为DateTime对象,因此我ParseExact使用自定义格式说明符进行调用:

CultureInfo provider = CultureInfo.InvariantCulture;
DateTime publishDate = DateTime.ParseExact(tweet["created_at"].ToString(), "ddd MMM dd hh:mm:ss zzz yyyy", provider);

FormatException但是,对于 的任何变体zzzzzz区,这都会引发异常:

字符串未被识别为有效的日期时间。

查看MSDN 文档很明显,该格式说明符期望时区采用时区zz:zz中有一个冒号来分隔小时和分钟的格式。

我检查了 Stack Overflow 上的其他问题,例如:

他们都没有真正的帮助。

是否有我可以使用的时区说明符来正确解析这种格式?

4

1 回答 1

3

这个真的傻

问题是小时说明符。我使用了“hh”,即 12 小时时钟时间。在 24 小时内,我应该使用“HH”。

注意细微的差别。

改变这一切都按预期工作。

于 2013-06-21T12:02:01.943 回答