Javascript日期使用正斜杠与连字符

时间:2014-04-09 10:15:11

标签: javascript date

当我创建一个新的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:00吗?)

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

这只发生在连字符上吗?

感谢。

1 个答案:

答案 0 :(得分: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"日期字符串