使用DateTime.ParseExact解析ISO8601日期字符串

时间:2013-07-16 13:54:37

标签: c# .net datetime iso8601

我正在尝试解析ISO8601格式字符串,如下所示:

"2013-07-16T13:40:20+01:00"

表示针对夏令时(BST)调整的GMT时间。当我解析这个时,DateTime.ParseExact行为不符合我的预期:

Console.WriteLine(DateTime.ParseExact("2013-07-16T13:40:20-02:00", "yyyy-MM-ddTHH:mm:sszzz", null));
Console.WriteLine(DateTime.ParseExact("2013-07-16T13:40:20-01:00", "yyyy-MM-ddTHH:mm:sszzz", null));
Console.WriteLine(DateTime.ParseExact("2013-07-16T13:40:20+00:00", "yyyy-MM-ddTHH:mm:sszzz", null));
Console.WriteLine(DateTime.ParseExact("2013-07-16T13:40:20+01:00", "yyyy-MM-ddTHH:mm:sszzz", null));
Console.WriteLine(DateTime.ParseExact("2013-07-16T13:40:20+02:00", "yyyy-MM-ddTHH:mm:sszzz", null));

产生输出:

16/07/2013 16:40:20
16/07/2013 15:40:20
16/07/2013 14:40:20
16/07/2013 13:40:20
16/07/2013 12:40:20

有没有办法让parse方法将字符串解释为BST时间?

感谢。

0 个答案:

没有答案