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); //就得到普通的时间了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容