一、安卓 ios兼容之日期问题
在时间转换展示过程中,在安卓手机上可以正常显示时间,在ios系统上显示NaN
在安卓系统下,直接就可以进行时间转换
Date.parse(new Date('2023-10-09 12:00:00')) // 1696824000000
但是在ios系统下,是无法转换的,直接显示NaN
Date.parse(new Date('2023-10-09 12:00:00')) // NaN
原因是ios系统不支持转化 2023-10-09 12:00:00这种中间用 - 格式的时间
我们只需要把时间转换为 2023/10/09 12:00:00这种中间用 / 格式的时间
let end = '2023-10-09 12:00:00';
let transEnd = end.replace(/-/g, '/');
Date.parse(new Date(transEnd ));
在页面中展示的时候,我们大多数还是以 - 格式的时间展示在页面上,等时间处理好以后,我们还需要把时间从 / 格式的时间转换为 - 格式的时间,这个时候我们只需要执行以下代码
let end = '2023/10/09 12:00:00';
let transEnd = end.replace( / \ / /g , '-'); //记得把正则里面的空格去掉
console.log(transEnd)
在项目中我们可以封装一个公共函数,需要时间转换的时候,都使用这个函数就可以了
function compatibleDate(date){
return Date.parse(new Date(date) || Date.parse(new Date(date.replace(/-/g,'/')))
}
compatibleDate('2023-10-09 12:00:00')
网友评论