var time = new Date('2014-07-03'); //Thu Jul 03 2014 08:00:00 GMT+0800 (中国标准时间)
Date.parse(time); //1404345600000
var time = new Date('2014-7-3'); //Thu Jul 03 2014 00:00:00 GMT+0800 (中国标准时间)
Date.parse(time); //1404316800000
补全0之后咋就多了8小时呢?
var time = new Date('2014-07-03'); //Thu Jul 03 2014 08:00:00 GMT+0800 (中国标准时间)
Date.parse(time); //1404345600000
var time = new Date('2014-7-3'); //Thu Jul 03 2014 00:00:00 GMT+0800 (中国标准时间)
Date.parse(time); //1404316800000
补全0之后咋就多了8小时呢?
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答859 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
根据 ECMA-262 ed 3,对时间的解析可能有不同处理方式。
在 ES5 中,对 ISO 8601 格式的字符串,如果没有指定时区,则解析为 UTC,对非 ISO 8601 的处理没有统一行为。
在 ES2015 中,对没有指定时区的字符串解析为当地时间(根据系统时间)。
如果你希望把所有这种形式的字符串都处理为当地时间,可以自己写个函数: