在IOS机型中,大部分浏览器能正确解释出js中的 new Date(‘2022-07-29T02:38:18.000+0000’) 的日期对象。但是在IOS低版本中new Date(‘2022-07-29T02:38:18.000+0000’)中返回的永远是"Invalid Date"。
let tiemStamp = '2022-07-29T02:38:18.000+0000'
let newTime = new Date(tiemStamp)
console.log(newTime) //==>IOS返回Invalid Date,安卓可以正常返回
这个是因为再次IOS机型中无法解析时间里面的 ‘-’ 与 T,需要进行处理一下。
function timeFormatter(time) {
var date = time.substr(0, 10); //年月日
var hour = time.substring(11, 13);
var minute = time.substring(14, 16);
var second = time.substring(17, 19);
var newTime = date + " " + hour + ":" + minute + ":" + second;
newTime = newTime.replace(/-/g, "/");
newTime = new Date(newTime);
newTime = new Date(newTime.getTime() + 8 * 3600 * 1000);
newTime =
newTime.getFullYear() +
"-" +
(newTime.getMonth() + 1) +
"-" +
newTime.getDate() +
" " +
newTime.getHours() +
":" +
newTime.getMinutes() +
":" +
newTime.getSeconds();
return newTime;
}
timeFormatter(tiemStamp)//==>此时IOS中就正常展示了:2022-7-29 10:38:18