解决小程序中Data.parse()获取时间戳IOS不兼容

时间:2022-06-13 15:32:40

由于与后台接口必须对比时间戳所以首先得前台获取时间戳。刚开始是获取手机本地时间,但用户改了时间就废了。。。。。

后来就从服务器上获取个时间再转换为时间戳(是不是很操蛋,先从服务器上获取在TM的自己比较),但后台直接给我一个时间戳不就完事了么,

还就给我一个时间自己转然后问题就来了。

  1. var resData = '2017-3-14 10:03:45'
  2. console.log("返回时间:" + resData)
  3. var time = Date.parse(new Date(resData)) / 1000;

这样开发工具、手机开发版、手机体验版都没问题。但我穷碧一个用的安卓手机,用苹果都说啥都没有。。。于是开始找问题,发现IOS获取时间转换后NaN。
原来第一次搞手机端。。。。。
各种度娘后才知道,歪果银特么的只识别2017/3/14。
于是就替换,replace还只能替换第一个,还有正则全部

    1. var resData = '2017-3-14 10:03:45';
    2. resData=resData..replace(/-/g, '/');
    3. console.log("返回时间:" + resData);
    4. var time = Date.parse(new Date(resData)) / 1000;

var data1 = new Date();
var data2 = parseInt(data1.getTime() / 1000);
console.log(data2)
var stringTime1 = "2017/08/16 10:00:00";
var stringTime2 = "2017/09/30 11:59:00";
var timestamp1 = Date.parse(new Date(stringTime1));
timestamps1 = timestamp1 / 1000;
timestamps2 = timestamp2 / 1000;
alert(data1+":"+data2+":"+timestamps1+":"+timestamps2)
alert(typeof(data2)+":"+typeof(timestamps1)+":"+typeof(timestamps2))