關於微信小程序中的new Date


**問題1:**微信小程序中`iOS系統`識別不了`yyyy-mm-dd hh:mm`,轉為`yyyy/mm/dd hh:mm`:
```js
new Date("2019-12-05 11:36")
// 當new Date中的時間格式為這樣的時候,會返回Invalid Date
```
正確應為:
```js
new Date("2019/12/05 11:36")
```
**問題2:**將時間按時區轉化,解決真機與開發者工具時間不一致的bug:
>從接口上獲取的時間數據,需求是要計算這條數據的距當前時間的倒計時,思路是new Date(數據).getTime() - new Date().getTime(),得到相差的時間戳再轉為年月日時分秒。

>在微信開發者工具上,時間是正確的,但是在真機上展示的與微信開發者工具相差8h,最后測試半天加搜資料,發現new Date在不同終端上獲取的時間可能默認的時區不同(具體原因未知)。所以在處理數據時加上時區```new Date(數據+'+0800')```,達到在不同終端,都是按照同個時區獲取。

**封裝了一個處理函數,解決以上兩個問題:**
```js
/**
* 將時間按時區轉化,解決真機與開發者工具時間不一致的bug
* ios識別不了yyyy-mm-dd hh:mm,轉為yyyy/mm/dd hh:mm
*/
fixDate(strTime) {
if (!strTime) {
return '';
}
var tempDate = new Date(strTime+'+0800');
if(tempDate=='Invalid Date'){
strTime = strTime.replace(/T/g,' ');
strTime = strTime.replace(/-/g,'/');
tempDate = new Date(strTime+'+0800');
}
tempDate.toLocaleDateString();
return tempDate;
},
```
更博客好累😭...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM