关于微信小程序中的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;
},
```
更博客好累??...

关于微信小程序中的new Date

上一篇:java接入微信JS-SDK


下一篇:支付宝小程序入门