在js中处理Date时,发现Safair和其他浏览器的支持方式不一致
1、例如:2021-12-08 11:00:00
在其他浏览器中,使用这个格式的字符串进行new Date操作没问题,但是在Safari中会提示Invalid Date;
Safari中不支持‘-’格式的日期字符串,将其替换成‘/’变成2021/12/08 11:00:00即可正常使用
2、例如:2021-12-08T11:00:00
此格式的日期字符串在Safari中也是不得到支持的,需要将字符串中的‘T’替换成空格
// 时间格式转时间戳
new Date('2021/12/08 11:00:00').getTime();
// 时间戳转时间格式
function formatDate(date) {
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
// return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;
return year + '-' + (String(month).length > 1 ? month : '0' + month) + '-' +
(String(day).length > 1 ? day : '0' + day) + ' ' + (String(hour).length > 1 ? hour : '0' + hour) + ':' + (String(minute).length > 1 ? minute : '0' + minute)
+ ':' + (String(second).length > 1 ? second : '0' + second)
}
//如果记得时间戳是毫秒级的就需要*1000 不然就错了记得转换成整型
var d = new Date(1634270400000);
console.log(formatDate(d))