您现在的位置: 首页 > 微信小程序运营 > 经验 >

ios上日期转时间戳出现的问题,Data.parse()获取时间戳IOS不兼容 ...

来源:微信小程序 编辑:Yiyongtong.com 发布时间:2017-11-14 17:11热度:

一:Data.parse()获取时间戳IOS不兼容分享者:defender_,原文地址由于与后台接口必须对比时间戳所以首先得前台获取时间戳。刚开始是获取手机本地时间,但用户改了时间就废了。。。。。后来就从服务器上获取个时间再 ...

 
 
 

一:Data.parse()获取时间戳IOS不兼容

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

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

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

 

		
  1. var resData = '2017-3-14 10:03:45'
  2.  
  3. console.log("返回时间:" + resData)
  4. 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;
 

二:ios上日期转时间戳出现的问题

当将字符串转换为时间戳时,相同的代码,在开发工具上和安卓手机上运行成功,在ios上则出现问题。

 

		
  1. var first_monday = "2017-02-27";
  2. var stringTime = first_monday + "00:00:00";
  3. var fm_timestamp = Date.parse(new Date(stringTime));
  4. console.log("fm_timestamp:"+fm_timestamp)

这段代码在开发工具上与安卓手机都能成功转换为时间戳,而在ios上则返回NaN,究其原因,我猜测是ios的浏览器内核的问题。  只要将上述代码稍作修改,删除掉”00:00:00”即可

 

		
  1. var first_monday = "2017-02-27";
  2. var stringTime = first_monday ;
  3. var fm_timestamp = Date.parse(new Date(stringTime));
  4. console.log("fm_timestamp:"+fm_timestamp)