微信小程序字符串转时间戳,ios报NaN

需求是:将一个字符串比如str = '2018-12-17 12:00:00'转换为时间戳

错误的代码:

     var str = '2018-12-17 12:00:00';

     var dateTime = new Date(str);

原因:以上代码只能在安卓手机上运行,ios是不兼容的。

正确代码:我写了下面这个方法来转的

      

function str2Stamp(time){
  var date = time.substr(0, 10)
  var hour = time.substr(11, 2) == '00' ? 0 : time.substr(11, 2).replace(/\b(0+)/gi, "");
  var minute = time.substr(14, 2) == '00' ? 0 : time.substr(14, 2).replace(/\b(0+)/gi, "");
  var second = time.substr(17, 2) == '00' ? 0 : time.substr(17, 2).replace(/\b(0+)/gi, "");
  var timestamp = parseInt(new Date(date).getTime() / 1000) + parseInt(hour) * 3600 + parseInt(minute) * 60 + parseInt(second) - 28800                   
  return new Date(timestamp*1000);
}

吐槽:之所以踩了很久,是因为网上一帮sb,自己不尝试就把别人错误的博客抄过来。

 

 

 

你可能感兴趣的:(前端技术,小程序)