美文网首页
关于微信小程序中的new Date

关于微信小程序中的new Date

作者: 尤雨溪的大迷弟 | 来源:发表于2019-11-27 23:43 被阅读0次

    问题1:微信小程序中iOS系统识别不了yyyy-mm-dd hh:mm,转为yyyy/mm/dd hh:mm

    new Date("2019-12-05 11:36")
    // 当new Date中的时间格式为这样的时候,会返回Invalid Date
    

    正确应为:

    new Date("2019/12/05 11:36")
    

    问题2:将时间按时区转化,解决真机与开发者工具时间不一致的bug:

    从接口上获取的时间数据,需求是要计算这条数据的距当前时间的倒计时,思路是new Date(数据).getTime() - new Date().getTime(),得到相差的时间戳再转为年月日时分秒。

    在微信开发者工具上,时间是正确的,但是在真机上展示的与微信开发者工具相差8h,最后测试半天加搜资料,发现new Date在不同终端上获取的时间可能默认的时区不同(具体原因未知)。所以在处理数据时加上时区new Date(数据+'+0800'),达到在不同终端,都是按照同个时区获取。

    封装了一个处理函数,解决以上两个问题:

    /**
    * 将时间按时区转化,解决真机与开发者工具时间不一致的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

          本文链接:https://www.haomeiwen.com/subject/wptvwctx.html