微信小程序关于new Date时间格式Android与IOS的兼容问题解决
问题描述:
- 最近在小程序项目中遇到了处理Date时间格式的需求,在安卓手机测试是没有发现问题的,但是在iPhone上面测试发现时间转换出现错误。
解决方案:
-
这里主要兼容问题在于安卓可以处理
‘-’
与‘/’
的时间格式,而IOS系统上只能处理‘/’
的时间格式,具体如下: -
// 例如一个'-'的时间格式 const end='2021-06-10 12:00:00' const int = new Date(end).getTime() // iOS系统上就会转化失败得到null,安卓能正常转化 // 解决方法:将时间格式转化为'/' const transEnd = end.replace(/-/g,'/') // 将时间格式转化为'/' const int = new Date(transEnd).getTime() // iOS系统、安卓都能正常转化了 // 后面接自己的业务,例处理时间将时间差转化为时分秒 const interval = int - new Date().getTime() const hours = parseInt(interval % (1000 * 60 * 60 * 24) / (1000 * 60 * 60)) const minutes = parseInt(interval % (1000 * 60 * 60) / (1000 * 60)) const seconds = parseInt(interval % (1000 * 60) / 1000) dateDown = `${hours < 10 ? '0' + hours : hours}: ${minutes < 10 ? '0' + minutes : minutes}: ${seconds < 10 ? '0' + seconds : seconds} `