最近写项目的时候,获取时间戳的时候发现了在ios上面显示NAN,网上查了一下,很多东西讲的不详细,没办法解决我的问题,花了一点时间研究了一下,现在分享给大家。
后端传的值是2019-05-30 20:08:40.0
,如果需要用在ios计算时间,需要利用正则把年月日中间的 - 换成 / 。
var oldDate = '2019-05-30 20:08:40.0' //后端传入的时间字段
var newDate = oldDate.replace(/\-/g, "/") //利用正则把 - 改成 /
var myDate = new Date(newDate)
console.log(myDate)
//安卓手机显示Thu May 30 2019 20:08:40 GMT+0800 (中国标准时间)
//ios显示NAN
为何会这样呢,因为 2019-05-30 20:08:40.0
时间段后面有个.0,不是标准格式,ios只能识别2019/05/30 20:08:40
这种格式的字段,多个符号,符号错误都不行,一定要注意。所以我们要用正则去掉.0
var oldDate = '2019-05-30 20:08:40.0' //后端传入的时间字段
var newDate = oldDate.replace(/\-/g, "/") //利用正则把 - 改成 /
var newDate2 = newDate.replace(/\.0/g, '') //利用正则把 .0 去掉
var myDate = new Date(newDate)
console.log(myDate)
// 安卓手机显示Thu May 30 2019 20:08:40 GMT+0800 (中国标准时间)
// ios手机显示Thu May 30 2019 20:08:40 GMT+0800 (中国标准时间)
以上,就处理好了时间戳在ios上面显示NAN的问题。