ISO-8601是否允许时区缩写UTC而不是Z作为时区?

5
在我参与的几个项目中,我们使用了YYYY-MM-DDThh:mm:ssUTC作为时间格式,并声称它(不正确地?)是ISO-8601的符合子集。
很明显,ISO-8601包括Z和+hhmm作为指定与UTC偏移量和时区(忽略夏令时)的合法方式。
似乎W3C和大多数采用(子集)ISO-8601的组织更喜欢使用Z(和+hhmm)。
我正在寻找熟悉或最好拥有ISO-8601副本的人来确认是否符合使用任何时区缩写,特别是UTC(作为zulu-time 'Z'的同义词)。
我相信IANA负责时区,而ISO-8601仅使用偏移量以避免处理时区更改的问题。
我找到了一个较旧版本的标准(此处),该版本未提及时区缩写。 我想确认在当前标准(ISO-8601:2004?)中使用UTC并声称符合ISO-8601是否无效。

请参见https://dev59.com/74Pba4cB1Zd3GeqPnhUA。 - Bruce Adams
1个回答

7

我有ISO-8601:2004,根据维基百科的说法这是最新版本。然而我没有看到它允许使用UTC代替Z,尽管规范中经常提到“UTC”。


4
我会确认这个。字符串字面量“UTC”不符合ISO-8601标准,其他缩写也不行,只有“Z”是有效的。此外,目前正在等待ISO8601的新草案,但我严重怀疑他们会引入时区缩写。 - Matt Johnson-Pint
感谢提供有趣的链接。这篇文章提到了表示“学期、三学期制、春季、夏季、秋季、冬季”等术语的新方法。虽然没有深入探讨,但看起来标准将变得更加复杂。 - Bruce Adams
有趣的是,我刚刚发现了https://www.timetemperature.com/abbreviations/world_time_zone_abbreviations.shtml,它使用UTC,在HTTP中https://tools.ietf.org/html/rfc7234#section-5.5.0 “o缓存接收者应该考虑具有区域缩写而非GMT或UTC的日期无效,以计算过期。” 这很令人惊讶,因为HTTP声称使用符合ISO-8601的日期时间。 - Bruce Adams
我还注意到Unix日期命令+%Z提供了“字母时区缩写”,但是给出的是UTC。请参阅man7.org/linux/man-pages/man1/date.1.html。我怀疑正是这种奇怪的情况导致我们在最初使用Shell脚本时选择使用UTC而不是Z。 - Bruce Adams

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接