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

Eug*_*ene 5 javascript date

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

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

当我使用正斜杠时

new Date("2015/07/02") // I get Thu Jul 02 2015 00:00:00 GMT+0100 (IST)
Run Code Online (Sandbox Code Playgroud)

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

这打破了我的代码:(

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

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

这只发生在连字符上吗?

谢谢.

Roy*_*mir 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)
Run Code Online (Sandbox Code Playgroud)

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

你应该尽可能坚持"YYYY-MM-DD"你的日期字符串

  • 将其解释为 UTC 并不是一件坏事,是吗?无论如何,UTC 应该被用作标准,所以你应该尽可能坚持 ISO 标准`YYYY-MM-DD`。 (3认同)