搜索

首页  >  问答  >  正文

javascript - js Date转换毫秒数问题

为什么

Date.parse('2017-06-18');    //1497744000000
Date.parse('2017-6-18');    //1497715200000

返回的毫秒数是不一样的?

typechotypecho2727 天前932

全部回复(2)我来回复

  • 学习ing

    学习ing2017-06-12 09:32:26

    JavaScript的规范保证了new Date("2017-06-18")的行为。new Date("2017-6-18")不符合规格格式,浏览器可以做任何事情(包括在不同的时区解释);

    Chrome对待这些格式的解析产生差异 - firefox不会这样 - 所以建议使用规范中的日期格式,不要依赖浏览器处理任何“非标准”格式

    请按照规范写代码!

    回复
    0
  • 阿神

    阿神2017-06-12 09:32:26

    new DateDate.parse 使用的是同样的解析规律,只是一个返回 Date object 另一个返回毫秒数,我们使用new Date来说明问题:

    console.log(new Date('2017-06-18')) // Sun Jun 18 2017 08:00:00 GMT+0800 (CST)
    console.log(new Date('2017-6-18')) // Sun Jun 18 2017 00:00:00 GMT+0800 (CST)

    刚好差8个小时,所以返回的毫秒数就不一样咯。

    回复
    0
  • 取消回复