JavaScript-Date()在Safari遇到的问题

在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:WX20190102-173530@2x
Safari:WX20190102-173718@2x
结论:可以看到同样是从 2019-01-02 00:00:00转化为Date对象 在Chrome中转换成功,但是在Safari中输出为null

Related Posts

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注