使用正斜杠与连字符的Javascript日期[重复]

问题描述 投票:5回答:1

当我创建一个新的Date对象并使用连字符传递日期时

new Date("2015-07-02") // I get Thu Jul 02 2015 01:00:00 GMT+0100 (IST)

当我使用正斜杠时

new Date("2015/07/02") // I get Thu Jul 02 2015 00:00:00 GMT+0100 (IST)

注意时间差:01:00:00表示连字符,00:00表示正斜杠

这打破了我的代码:(

为什么会这样?有什么解决方法吗? (我应该在使用连字符时将时间设置为00:00:00吗?)

我需要能够比较带有正斜杠的日期和带有连字符的日期,我不确定是否需要将日期与其他符号进行比较。

这只发生在连字符上吗?

谢谢。

javascript date
1个回答
6
投票

如果最近的浏览器可以将日期字符串解释为ISO-8601 - 它会这样做。

例子 :

 YYYY (eg 1997)
 YYYY-MM (eg 1997-07)
 YYYY-MM-DD (eg 1997-07-16)
 YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)
 YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)
 YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00)

使用此格式,您的日期/时间字符串将被解释为UTC(!!!)。

你应该尽可能坚持使用"YYYY-MM-DD"作为日期字符串

© www.soinside.com 2019 - 2024. All rights reserved.