微坑---微信小程序ios上时间字符串转换为时间戳时,在开发工具上和安卓手机上运行成功

给定一个时间字符串  var time="2017-02-27 16:42:53" js有三种转换为时间戳的方法:

1、var timestamp = Date.parse(time)
2、var timestamp = time.getTime()
3、var timestamp = time.valueOf()
第一种方法只能精确到秒,后两种能精确到毫秒。
然而相同的代码,在android上能正常执行,在ios上就会出错。

临下班来这么一出,被坑得贼惨,明天开始五一假期,只能晚上加班来解决小程序的这个坑。试过无数种方法后,最后用以下代码解决了问题:

var date=time.substr(0,10)//2017-02-27
var hour=time.substr(11,2)=='00'?0:time.substr(11,2).replace(/\b(0+)/gi,"")
var minute=time.substr(14,2)=='00'?0:time.substr(14,2).replace(/\b(0+)/gi,"")
var second=time.substr(17,2)=='00'?0:time.substr(17,2).replace(/\b(0+)/gi,"") var timestamp =parseInt(new Date(date).getTime() / 1000)+parseInt(hour)*3600+parseInt(minute)*60+parseInt(second)-28800//别问我为什么-28800,只能告诉你实践出真知 var time=timestampFormat(timestamp)//timestampFormat:自定义的将时间戳转换为刚刚,昨天16:42等表达的方法

 

于是终于能放个好假了

posted on 2017-04-28 19:44  栖木  阅读(3677)  评论(0编辑  收藏  举报

导航