为了账号安全,请及时绑定邮箱和手机立即绑定

JS字符串转时间戳相差8个小时问题

JS字符串转时间戳相差8个小时问题

MMMHUHU 2018-11-14 14:15:07
var time = new Date('2014-07-03'); //Thu Jul 03 2014 08:00:00 GMT+0800 (中国标准时间)Date.parse(time); //1404345600000var time = new Date('2014-7-3'); //Thu Jul 03 2014 00:00:00 GMT+0800 (中国标准时间)Date.parse(time); //1404316800000补全0之后咋就多了8小时呢?
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

根据 ECMA-262 ed 3,对时间的解析可能有不同处理方式。

在 ES5 中,对 ISO 8601 格式的字符串,如果没有指定时区,则解析为 UTC,对非 ISO 8601 的处理没有统一行为。

在 ES2015 中,对没有指定时区的字符串解析为当地时间(根据系统时间)。

如果你希望把所有这种形式的字符串都处理为当地时间,可以自己写个函数:

function parseISOLocal (s) {

  var b = s.split(/\D/);

  return new Date(b[0], b[1]-1, b[2]);

}


查看完整回答
反对 回复 2018-12-12
  • 1 回答
  • 0 关注
  • 3476 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号