安卓会把这个带T字母的时间看做UTC时间格式,(包括ios打包后也会相差8个小时)与北京时间相差8个小时。你要将UTC时间转化为北京时间然后进行格式化。GMT +0800 已经是加了8个小时的了。
第二种解决方法
或者你直接把T替换掉,然后格式化
// 字符串转换成时间 ios中要把毫秒去掉
function toTime(strTime) {
if (!strTime) {
return '';
}
var myDate = new Date(strTime + '+0800');
if (myDate == 'Invalid Date') {
strTime = strTime.replace(/T/g, ' '); //去掉T
strTime = strTime.replace(/-/g, '/');
strTime = strTime.replace(/\.\d+/, ' ');//去掉毫秒
myDate = new Date(strTime + '+0800');
}
return myDate;
}