手機中使用new Date()格式化某個時間時,時間朝后加了8小時
慕田峪9158850
2019-02-05 17:21:49
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;
}
舉報