ECMAScript根据ISO 8601扩展格式的简化为日期时间定义字符串交换格式。格式如下:YYYY-MM-DDTHH:mm:ss.sssZ
- https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15
那么这两种格式究竟有什么区别?我需要注意什么?我注意到ISO 8601声明T
可以用空格代替。还有什么"简化"?
非常具体:这个问题与标准有关。浏览器行为很有趣,但不是这个问题的主要焦点。
答案 0 :(得分:2)
ISO 8601为日期和时间定义了许多不同的格式,例如:
YYYY-MM-DDTHH:mm:ss.sssZ
-
和:
分隔符):YYYYMMDDTHHmmss.sssZ
还有变化:只是日期,时间和有或没有偏移。如果日期使用上述之一(基本或扩展),则时间必须使用相同的。
它还允许日期的其他格式(ECMA不使用):
YYYY
,或在数字前面带有+
或-
信号的扩展版本YYYY-MM
--MM-DD
YYYY-Www
或YYYY-Www-D
。 Www
是周数(大写W
后跟2位数),但在这种情况下YYYY
是 ISO周编号年< / em> - 引用维基百科:ISO周编号年从第01周的第一天(星期一)开始,到新ISO年份之前的星期日结束(因此没有重叠或差距)。它包括52或53整周。一年中的第一个ISO周最多可能有三天,实际上正在公历年结束;如果三,他们是星期五,星期六和星期日。同样,一年中的最后一个ISO周可能最多有三天实际上是公历年开始的;如果三,他们是星期一,星期二和星期三。每个ISO周的星期四总是在由ISO周编号年表示的公历年。
YYYY-DDD
(年和年> )。2017-02-01
与2017-032
相同( 2月1日 st 是 32 th 日这一年)。上述周和序数格式也可以与时间一起使用。
示例:2017-02-01T10:00
和2017-032T10:00
都有效(和等效)。
ECMA仅允许YYYY-MM-DDTHH:mm:ss.sssZ
简化它。它还允许extended years(带有6位数字和一个信号),但保持其他字段的格式相同。
ISO 8601还定义了另一个概念(Durations和Time Intervals)。虽然它们都与日期和时间相关,they're not the same thing:持续时间是&#34;时间量&#34; (例如&#34; 2天,4小时和5分钟&#34;)和间隔是&#34;两个时间点之间的间隔时间&#34; (包括开始和结束日期)。
答案 1 :(得分:0)