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

手机中使用new Date()格式化某个时间时,时间朝后加了8小时

手机中使用new Date()格式化某个时间时,时间朝后加了8小时

慕田峪9158850 2019-02-05 17:21:49
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

原因不太清楚,从结果看new Date()的时候把传入的时间当成是世界标准时间了,可以明确的给时间后面加上时区:new Date('2017-10-19T14:51:52+0800');

补充

在safari浏览器,new Date() 中传入的参数的参数中不能识别‘-’,‘T’,所以需要转化一下,兼容性函数如下:


function fixDate(strTime) {

    if (!strTime) {

      return '';

    }

    var tempDate = new Date(strTime+'+0800');

    if(tempDate=='Invalid Date'){

        strTime = strTime.replace(/T/g,' ');

        strTime = strTime.replace(/-/g,'/');

        tempDate=new Date(strTime+'+0800');

    }

    tempDate.toLocaleDateString();

    return tempDate;

  }


查看完整回答
反对 回复 2019-02-16
  • 1 回答
  • 0 关注
  • 1050 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信