繁体   English   中英

这两个日期时间字符串有什么区别?

[英]what is the difference between the two date time string?

在Chrome DevTool中测试(中国标准时间):

new Date("2013-12-24").toISOString()

“2013-12-24T00:00:00.000Z”

new Date("2013/12/24").toISOString()

new Date("Dec 24, 2013").toISOString()

“2013-12-23T16:00:00.000Z”

与这些有什么不同?

第一个, 2013-12-24 ,被认为是ISO-8601日期字符串的第一部分,由于它没有与之关联的时间或时区,因此将其解析为UTC。

第二个是未定义的,直到浏览器/ JS引擎才能解析它。 在您的情况下,它似乎将其解析为美国日期字符串,但使用您的本地时区而不是UTC。 您可以在Date.parseMDN页面上阅读有关标准化日期格式的更多信息。

如果可以的话,只需坚持第一,因为它是标准。 第二个例子可能甚至不能在不同的语言环境中工作,但我不能肯定地说。 如果您确实需要任意日期解析,您可能需要考虑使用库,因为它非常复杂并且不受标准JS的限制。 datejs这样的东西可能吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM