uni-app 時間格式問題 new Date(str) IOS系統跟Android系統不兼容

今天作了一個需求,要在列表中把後臺返回來的時間給顯示出來,使用 new Date(str)  在微信開發者工具上顯示是沒有問題的,而後在IOS系統上顯示是NAN。微信

緣由是 IOS系統只識別 " / " 不識別 " - ". 微信開發

後臺返回來的時間類型通常有三種 時間、時間搓、字符串。咱們就研究一下這三種類型怎麼 處理才能兼容安卓系統和IOS系統吧。工具

formatTime(d) {
  var year = d.getFullYear();
  var month = d.getMonth() + 1;
  var date = d.getDate();
  var hour = d.getHours();
  var minute = d.getMinutes();
  var second = d.getSeconds();
  return year + "/" + (D[month] || month) + "/" + (D[date] || date) + " " + (D[hour] || hour) + ":" + (D[minute] || minute) + ":" + (D[second] || second);//必須是‘/’格式
}

 

1、字符串類型  2019-8-14 10:03:45  spa

var date = "2019-8-14 10:03:45"

//不兼容代碼
var newDate = new Date(date);

//解決
var newDate = new Date(date.replace(/-/g, '/'));


 

2、時間戳類型  1565776169000 (毫秒)  最後顯示  2019/08/14 17:49:29插件

var date = 1565776169000; //必須是數值類型,必須是13位數
var newDate = new Date(date);
var newDateTime = dateFormater.formatTime(newDate) // 2019/08/14 17:49:29

 

3、時間類型 2019-08-09T18:23:27.000+0800code

var date = '2019-08-09T18:23:27.000+0800';
var data = date.substr(0, 19); //'2019-08-09T18:23:27'
var newDate = new Date(data.replace(/T/g, ' ').replace(/-/g, '/'));
                                

 

4、終極處理時間插件 moment.jsorm

相關文章
相關標籤/搜索