我正在尝试解析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时间?
感谢。