问题描述:小程序中实现倒计时功能,由后端传到前端的倒计时结束时间转换为时间戳,再减去当前时间戳实现倒计时,在安卓手机和微信开发工具中都没有问题,但是在 iPhone 8 中会多8个小时,后端传的时间格式:2020-07-24 11:32:48.0
原因:Android 和 iOS 在日期格式上的处理方式有所不同,这个不同导致 JS 日期处理函数会做不同的处理。因为 iOS 只支持 2020/07/24 这种格式,不支持 2020-07-24 这样的格式。
解决方案:
function formatTime(time) {
// 将 “-” 替换为 “/”
time = time.replace(/-/g, '/')
// 去掉毫秒数
time = time.replace(/\.\d+/, '')
return time
}
参考资料