今天做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啦~