ISO8601时区指示符规范咨询:是否允许UTC零差值替代Z标识?
ISO 8601时区指示符相关问题解答
问题1:ISO8601中是否允许将与UTC的零差值用作时区指示符?
根据你给出的ISO 8601标准片段,明确不允许用与UTC的零差值(比如+00:00这类形式)来标识UTC时间。标准对UTC时间的标识有专门的规定,并非用零差值分量来替代。
问题2:我的假设是否正确——ISO8601不允许将与UTC的零差值(如GMT场景)用作时区指示符,而要求使用Z标识?
你的假设完全正确!咱们把标准里的这段规则拆解来看:
若采用符合5.3.1.1至5.3.1.3的本地时间,时区指示符为空;若采用符合5.3.3的UTC时间,则使用UTC标识[Z];若采用本地时间并需体现与……的差值,则使用差值分量。
这段文字把三种时间场景的时区标识规则划分得很清晰:
- 无偏移的本地时间:时区部分留空即可,比如
2024-05-20T14:30:00 - UTC时间:必须用
Z作为标识,正确格式是2024-05-20T14:30:00Z - 带UTC偏移的本地时间:才会用到差值分量(比如
+02:00、-05:00),但这是给非UTC的本地时间用的,UTC本身不属于这个范畴
简单来说,零差值分量是用来表示「和UTC时间偏移为0的本地时间」,但ISO 8601里UTC时间是单独的一类,必须用Z来标识,不能用+00:00代替。
内容的提问来源于stack exchange,提问作者Superlokkus
相关产品推荐
相关产品推荐

