欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【小程序】解决Date.parse()获取时间戳IOS不兼容的问题

程序员文章站 2024-03-23 18:12:16
...

在写小程序时,发现一个神奇的bug,就是Date.parse()获取的时间戳IOS不兼容,显示为NaN。

平常像下面这么写,例如:

var timeStr0 = '2018-6-21';
    var timeStr1 = '2018-06';
    var timeStr3 = '2018-6';
    var timeStr2 = '2018-06-21 23:59:59';
    var timeStamp0 = Date.parse(timeStr0) / 1000;
    console.log("timeStamp0:" + timeStamp0); //1529510400
    var timeStamp1 = Date.parse(timeStr1) / 1000;
    console.log("timeStamp1:" + timeStamp1); //1527811200----是2018/6/1 8:0:0时间戳
    var timeStamp3 = Date.parse(timeStr3) / 1000;
    console.log("timeStamp3:" + timeStamp3); //1527782400---是2018/6/1 0:0:0时间戳
    var timeStamp2 = Date.parse(timeStr2) / 1000;
    console.log("timeStamp2:" + timeStamp2); //1529596799

但是到了ios版本里面,时间戳都变成了NaN,安卓版本和微信开发者工具中显示正常。


问度娘了一会儿之后,发现因为ios只识别"2017/01/01"这样的日期格式;所以,解决办法如下:(用正则把“-”替换成“/”)

var timeStr = '2018-06-21';
    var timeStamp = Date.parse(timeStr.replace(/-/g, '/'))/1000;
    console.log("timeStamp:" + timeStamp);

总结:尽量还是要用"2017/01/01"这样的日期格式来转时间戳,避免了兼容问题,同时也避免掉了'2018-6'与'2018-06'转时间戳不同的问题。


启蒙链接:https://blog.csdn.net/zqtsx/article/details/74331076

相关标签: x

上一篇: 四点共面

下一篇: 拯救小鸡