js日期毫秒的相互转化以及苹果手机new Date()兼容问题

关于今天的分享是这样的,在做wap端的时间选择器时,在选择生日时,需要向后台传递毫秒数,但是在传递的过程中,发现苹果手机alert出来的毫秒数,始终是NAN,所以在度娘上查阅了一番之后,做了如下了解;

[ 1 ]首先js将日期转化成毫秒的方法
var oldTime = (new Date("2012/12/25 20:11:11")).getTime(); //得到毫秒数
//不是上面格式的时间需要转换

//starttime ='2012-12-25 20:17:24';
starttime = starttime.replace(new RegExp("-","gm"),"/");
var starttimeHaoMiao = (new Date(starttime)).getTime(); //得到毫秒数

发现iphone中对时间的处理与android和pc浏览器中的时间处理不同。进行调试发现是new Date("2017-02-05 12:10:10.12")发生错误,函数返回错误是"Invalid Date"。
解决方法

    var arr = starttime .split(/[- : \/]/);  
    newDate = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]);  
    alert(newDate)

[ 2 ]毫秒转化成事件

var oldTime = (new Date("2012/12/25 20:11:11")).getTime(); //得到毫秒数  
var newTime = new Date(oldTime); //就得到普通的时间了

你可能感兴趣的:(js日期毫秒的相互转化以及苹果手机new Date()兼容问题)