如何解析最终包含 GMT 作为其时区的日期时间字符串

本文关键字:时区 日期 字符串 时间 何解析 包含 GMT | 更新日期: 2023-09-27 18:36:59

>我有一个以下格式的日期时间: 星期三, 03 九月 2013 02:05:50 GMT

现在,当我尝试使用掩码将此字符串解析为日期时间对象时,我得到了一个格式异常

DateTime parsed = DateTime.ParseExact("Wed, 03 September 2013 02:05:50 GMT", "ddd, dd MMMM yyyy HH:mm:ss zzz", CultureInfo.InvariantCulture);

确实使用上面的掩码检查了DateTime.Now,它与我想要解析的日期完全匹配。如何解析此日期?

如何解析最终包含 GMT 作为其时区的日期时间字符串

试试这个:

DateTime parsed = DateTime.ParseExact("Tue, 03 September 2013 02:05:50 GMT", 
                                      "ddd, dd MMMM yyyy HH:mm:ss Z", 
                                       CultureInfo.InvariantCulture);

您应该将 Z 表示 UTC 作为"GMT"。9月3日是星期二。

你可以试试:

var input = "Tue, 03 September 2013 02:05:50 GMT";
var parsed = DateTime.ParseExact(input,
    "ddd, dd MMMM yyyy HH':'mm':'ss 'GMT'",
    CultureInfo.InvariantCulture);
Console.WriteLine(parsed);
Console.WriteLine(parsed.ToLocalTime());