safari浏览器 时间*NAN*问题(兼容eslint Unnecessary escape character报错)

safari浏览器 时间NAN问题(兼容eslint Unnecessary escape character报错)

eslint 特么就是个折磨人的小妖精,这里Unnecessary escape character 报错可以去你的正则表达式中找 \ 干掉多余的,

提示:

  1. vue项目也是一样直接引入方法就可了;
  2. time.replace(/-/g, “/”) eslint会报无效转义字符错,改为time.replace(/-/g, “/”)
  function dateFormat(time) {
        if (!time || time === null) {
            let arr = []
            return arr
        }
        if(time.indexOf('T') == -1){
            var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
            //var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
            //var isIE = userAgent.indexOf("compatible") > -1
            //    && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
            //var isEdge = userAgent.indexOf("Edge") > -1; //判断是否IE的Edge浏览器
            //var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
            var isSafari = userAgent.indexOf("Safari") > -1
                && userAgent.indexOf("Chrome") == -1; //判断是否Safari浏览器
            //var isChrome = userAgent.indexOf("Chrome") > -1
                && userAgent.indexOf("Safari") > -1; //判断Chrome浏览器
            if(isSafari){
                time = time.replace(/-/g, "/");
            }
        }
        let date = new Date(Date.parse(time));
        let year = date.getFullYear();
        let month =
            date.getMonth() + 1 < 10
                ? "0" + (date.getMonth() + 1)
                : date.getMonth() + 1;
        let day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
        let hours =
            date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
        let minutes =
            date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
        let seconds =
            date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();

        let a = year + "-" + month + "-" + day + ' ' + hours + ":" + minutes + ":" + seconds;
        
        return a
  }

demo

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box>div {
            width: 250px;
            height: 20px;
            border: 1px solid #000;
        }
    </style>
</head>

<body>
    <div class="box">
        <div id="time0"></div>
        <div id="time1"></div>
        <div id="time2"></div>
        <div id="time3"></div>
        <div id="time4"></div>
        <div id="time5"></div>
        <div id="time6"></div>
        <div id="time7"></div>
        <div id="time8"></div>
        <div id="time9"></div>
    </div>
</body>

</html>

<script>
    let time0 = "2021-04-26T09:35:06+08:00"
    let time1 = "2021-04-26 09:33:05"
    let time2 = "2021-04-26T13:42:31+08:00"
    let time3 = "2021-04-30 12:38:04"
    let time4 = "2021-04-30 12:38:04"
    let time5 = "2021-04-30 17:12:35"
    let time6 = "2021-04-30T18:19:25+08:00"
    let time7 = "2021-04-29T12:54:13+08:00"
    let time8 = "2021-04-29T13:25:44+08:00"
    let time9 = "2021-05-06T14:11:22+08:00"
    document.getElementById('time0').innerHTML= dateFormat(time0)
    document.getElementById('time1').innerHTML= dateFormat(time1)
    document.getElementById('time2').innerHTML= dateFormat(time2)
    document.getElementById('time3').innerHTML= dateFormat(time3)
    document.getElementById('time4').innerHTML= dateFormat(time4)
    document.getElementById('time5').innerHTML= dateFormat(time5)
    document.getElementById('time6').innerHTML= dateFormat(time6)
    document.getElementById('time7').innerHTML= dateFormat(time7)
    document.getElementById('time8').innerHTML= dateFormat(time8)
    document.getElementById('time9').innerHTML= dateFormat(time9)
    function dateFormat(time) {
        if (!time || time === null) {
            let arr = []
            return arr
        }
        if(time.indexOf('T') == -1){
            var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
            var isSafari = userAgent.indexOf("Safari") > -1
                && userAgent.indexOf("Chrome") == -1; //判断是否Safari浏览器
            if(isSafari){
                time = time.replace(/-/g, "/");
            }
        }
        let date = new Date(Date.parse(time));
        let year = date.getFullYear();
        let month =
            date.getMonth() + 1 < 10
                ? "0" + (date.getMonth() + 1)
                : date.getMonth() + 1;
        let day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
        let hours =
            date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
        let minutes =
            date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
        let seconds =
            date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();

        let a = year + "-" + month + "-" + day + ' ' + hours + ":" + minutes + ":" + seconds;
        
        return a
  }



</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值