一尘不染

为什么DateTime.Parse无法解析UTC日期

c#

为什么 它不能解析此:

DateTime.Parse("Tue, 1 Jan 2008 00:00:00 UTC")

阅读 386

收藏
2020-05-19

共1个答案

一尘不染

由于“ UTC”不是有效的时区指示符,因此无法解析该字符串。

UTC时间是通过在时间字符串的末尾添加“ Z”来表示的,因此您的解析代码应如下所示:

DateTime.Parse("Tue, 1 Jan 2008 00:00:00Z");

摘自ISO
8601上
Wikipedia文章

如果时间以世界标准时间(UTC)为准,请在时间之后直接添加“ Z”,且不带空格。“ Z”是UTC零偏移量的区域标记。因此,“ 09:30
UTC”表示为“ 09:30Z”或“ 0930Z”。“ 14:45:15 UTC”将是“ 14:45:15Z”或“ 144515Z”。

UTC时间也称为“祖鲁语”时间,因为“祖鲁语”是北约语音字母中的“ Z”。

2020-05-19