今天在格式化字符串 2019-11-22T06:27:53.000+0000 过程中发现了一个问题,开始在Android上是没有问题的,但是在IOS中却有问题。
首先将字符串变为Date
对象
const d = new Date('2019-11-22T06:27:53.000+0000')
然后再执行toString
方法输出一下
console.log(d.toString())
在Android中输出Fri Nov 22 2019 14:27:53 GMT+0800 (中国标准时间)
在IOS中输出Invalid Date
为什么呢?
有人说可以替换 -
为 /
,但是还是失败
因为还要替换 T
为空格,怎么还是失败
最后只能把.000+0000
也去掉,舍去了毫秒数,成功了。
来一个完整的例子
const str = '2019-11-22T06:27:53.000+0000'.replace(/-/g, '/').replace('T', ' ').replace('.000+000', '')
const d = new Date(str)
console.log(d.toString()) // Fri Nov 22 2019 14:27:53 GMT+0800 (中国标准时间)
网友评论