iOS时间处理

今天做ios项目遇到了一个小坑

var timer = '2018-09-05 16:09:28'
this.time = new Date(timer).getTime()

要把时间转换成时间戳,在pc端就成功转换了,但在ipad上就显示NAN。
原因:Date.parse() 对于因包含有无效元素无法识别ios格式字符串或者日期,都返回NAN。
说白了,就是 2018-09-05 16:09:28这个时间格式 只是中国人的习惯。

那怎么解决这个坑爹的问题呢,我搜索到了两种解决方案:

方案1:将年月日时分秒 拆分成6个参数

this.time = new Date('2018','8','5','16','9','28').getTime()

这里要注意,月份要减1 !!!
日期的月份:中换英减一 ;英换中加一

方案2:引用 momentjs

npm install moment

var moment = require('moment')
moment().format()
var timer = '2018-09-05 16:09:28'
this.time = moment(timer).valueOf()

就ok啦~

你可能感兴趣的:(iOS时间处理)