1. 程式人生 > 其它 >uniapp ios 字串轉時間格式的問題

uniapp ios 字串轉時間格式的問題

今天做了一個需求,使用 new Date(str) 在微信開發者工具上顯示是沒有問題的,然後在IOS系統上顯示是NAN。

原因是IOS系統只識別 " / " 不識別 " - ".

高版本的ios展示'yyyy-MM-dd'會出現NaN-NaN-NaN出現相容性問題

1 new Date(date).Format("yyyy/MM/dd") //在ios會出現NaN展示問題
2 
3 date = date.replace('-'.'/')
4 new Date(date).Format("yyyy/MM/dd") //安卓ios展示正常通用

後臺返回來的時間型別一般有三種 時間、時間搓、字串。我們就研究一下這三種類型怎麼 處理才能相容安卓系統和IOS系統吧。

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

一、字串型別2019-8-14 10:03:45

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

//不相容程式碼
var newDate = new Date(date);

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

二、時間戳型別1565776169000 (毫秒) 最後顯示 2019/08/14 17:49:29

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

三、時間型別2019-08-09T18:23:27.000+0800

1 var date = '2019-08-09T18:23:27.000+0800';
2 var data = date.substr(0, 19); //'2019-08-09T18:23:27'
3 var newDate = new Date(data.replace(/T/g, ' ').replace(/-/g, '/'));
快捷翻譯 - 快到離譜! 劃詞翻譯 自動發聲 自動新增生詞本