“new Date()”ios苹果不兼容,NAN,不仅是“-”的原因,“2020/08/07T03:22:56.000+0000"也不行

后台返了个 “2020-08-07T03:22:56.000+0000”,讲道理, new Date(2020-08-07T03:22:56.000+0000)然后处理一下, 没什么问题。

  但是ios最后结果是NAN,“-”ios不兼容, 以前遇到过, 也是知道的, 但是.replalce(/-/g, '/')之后, new Date('2020/08/07T03:22:56.000+0000')还是不行, 我好兴(qi)奋(ji)的(bai)呀(huai),百度半天,都是说“-”的原因,都是复读机哟。

  最后发现这个格式的时间格式(2020-08-07T03:22:56.000+0000)和去掉T和点后面的时间差了8小时(2020-08-07 03:22:56),瞬间好搞了, 思路是关键。

     let newStr = '2020-08-07T03:22:56.000+0000';

            newStr = newStr.replace(/-/g, '/').replace(/T/g, ' ');
            newStr = newStr.substr(0, newStr.indexOf('.'));
            newStr = new Date(new Date(newStr).getTime() + 3600 * 1000 * 8);
            newStr = `${newStr.getFullYear()}-${
                        newStr.getMonth() < 10 ? '0'+String(newStr.getMonth()+1):String(newStr.getMonth()+1)
                    }-${
                      newStr.getDate() < 10 ? '0'+newStr.getDate() : newStr.getDate()
                    } ${
                        newStr.getHours()
                    }:${
                        newStr.getMinutes()
                    }:${
                        newStr.getSeconds()
                    }`;
      兼容问题...要有耐心呀。
let newStr = '2020-08-07T03:22:56.000+0000';
            newStr = newStr.replace(/-/g, '/').replace(/T/g, ' ');
            newStr = newStr.substr(0, newStr.indexOf('.'));
            newStr = new Date(new Date(newStr).getTime() + 3600 * 1000 * 8);
            newStr = `${newStr.getFullYear()}-${
                        newStr.getMonth() < 10 ? '0'+String(newStr.getMonth()+1):String(newStr.getMonth()+1)
                    }-${
                      newStr.getDate() < 10 ? '0'+newStr.getDate() : newStr.getDate()
                    } ${
                        newStr.getHours()
                    }:${
                        newStr.getMinutes()
                    }:${
                        newStr.getSeconds()
                    }`;
posted @ 2020-08-08 12:07  撸码和尚  阅读(477)  评论(0编辑  收藏  举报