This question already has answers here:
In Javascript: Why new Date('2012-1-15') - new Date('2012-01-15') == 21600000

(3个答案)


5年前关闭。




JavaScript中的日期“2015-10-01”和“2015-10-1”有什么区别?
new Date('2015-10-1')

这将返回'Thu Oct 01 2015 00:00:00 GMT-0300'
new Date('2015-10-01')

返回'Wed Sep 30 2015 21:00:00 GMT-0300'

最佳答案

我在本地执行后看到的是

  • 当地时区中的日期
  • UTC的日期

  • 按照MDN docs,如果Date.parse具有完整的DD,则new Date('2015-10-1')将假定日期为UTC格式,否则将采用本地时区格式。

    有关月份更改的详细说明:(评论)

    执行此语句时的new Date('2015-10-01')输出为'Thu Oct 01 2015 00:00:00 GMT-0300'。即您的当地时间,即格林尼治标准时间-3hrs。

    但是,当您执行ojit_code时,输出为'Wed Sep 30 2015 21:00:00 GMT-0300',以UTC时间表示。即比当地时间少3个小时。

    因此,这是10月1日午夜-3hrs,也就是前一天的21hrs。即9月30日21小时。

    10-06 15:31
    查看更多