如何在.net中解析RFC822日期?

本文关键字:RFC822 日期 net | 更新日期: 2023-09-27 18:19:16

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

"Thu Apr 26 11:38:36 +0000 2012"

我需要将其转换为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的问题,如:

  • 我如何解析和转换DateTime的RFC 822日期时间格式?
  • 解析RFC822-Datetime

没有一个真的有用。

是否有一个时区说明符,我可以使用它来正确解析此格式?

如何在.net中解析RFC822日期?

这个真傻。

问题是小时说明符。我用"hh"表示12小时的时钟时间。对于24小时,我应该使用"HH"。

注意细微的差别。