在Safari浏览器中从yyyy-mm-dd 00:00:00格式转化为Date对象中间的空格必需替换为”T”!
举例:
let date = new Date(); // 输出 当前时间 转为 yyyy-mm-dd 00:00:00 格式 console.log(timestampToTime(date)); // 输出 转回 Date() 对象 console.warn(new Date(timestampToTime(date))); // 中间的空格替换之后 console.error(new Date(timestampToTime(date).replace(' ', 'T'))); function timestampToTime(timestamp) { let date = new Date(timestamp); let Y = date.getFullYear() + '-'; let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; let D = date.getDate() < 10 ? '0' + date.getDate() + ' ': date.getDate() + ' '; return Y + M + D + '00:00:00'; }
输出结果:
Chrome:
Safari:
结论:可以看到同样是从 2019-01-02 00:00:00转化为Date对象 在Chrome中转换成功,但是在Safari中输出为null