简介 在项目中遇到苹果浏览器显示时间为NAN,安卓手机没有问题,出现这种问题的原因是浏览器内核支持时间格式不一致导致的苹果手机时间显示NaN的问题,该文章介绍几种解决这个问题的方法。
1.采用正则替换的方法
这种格式就会出现NAN
代码语言:javascript复制new Date("2017-04-28 23:59:59")
换成如下方式就正常了,就是‘-’换成‘/’
代码语言:javascript复制new Date("2017/04/28 23:59:59")
// 改
var time = "2017-04-28 23:59:59"
new Date(time.replace(/-/g, '/'))
如果你的时间格式不是你想要的请使用:time.replace(/-/g, “/”)替换“-”为“/”或者time.replace(/./g, “/”)替换“.”为“/“
若以上方法还是没有解决你的问题,在ios上仍然显示为NAN
2.使用moment.js
vue中先引入npm install moment --save
import moment from ‘moment/moment‘ let time = moment(date).format(‘YYYY/MM/DD HH:mm:ss‘) console.log(transTime)
输出
2018/09/01 09:10:41
3.服务端直接已字符串的格式返回
(例如:2020-05-01 20:10:02) 不建议采用此方法