最近项目需要用到时间转时间戳,于是直接使用date.parse()转换得到时间戳
// date和time是之前保存的,date为“yyyy-MM-dd”格式
// time为“HH:mm:ss”格式
date.parse(date + " " + time);
对于之前主要使用java开发的我来说,这个很好理解,的确,在模拟器和android手机上也能正常运行。
但是,跑到ios上就出问题了,调试才发现时间转换后得到的是NaN
原来,在ios上是不识别“yyyy-MM-dd HH:mm:ss”格式的时间的,它的日期需要通过“/”来分隔
然后,代码稍作修改:
var dateTime = (date + " " + time).replace(/-/g, "/");
date.parse(dateTime )
replace很好理解,而其中的第一个参数/-/g属于正则,/-/表示匹配“-”字符,后面的g匹配所有的“-”,所以这一句代码的意思即,将所有的“-”替换为“/”,即时间格式替换为“yyyy/MM/dd HH:mm:ss”
原文:简书ThinkinLiu 博客: IT老五
ps: 小程序的好处是兼容性,一套代码跑多个平台,但同样,问题最多的也是兼容性,比如本文的时间转换,之前提过的下拉刷新,以及蓝牙连接等,这些都是踩过坑才知道,如果你们还遇到过什么坑,欢迎指导。
扫码关注微信公众号--IT老五
微信扫一扫关注公众号,获取更多实用app,订阅地址不定时更新