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

https://img2.mukewang.com/5c677fb40001486d04500800.jpg

https://img3.mukewang.com/5c677fc10001e74313200560.jpg

慕田峪9158850
浏览 1051回答 1
1回答

狐的传说

原因不太清楚,从结果看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;  }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript