过滤“2021-01-29T02:40:53.000+0000”为“2021-01-29 02:40:53”的时间格式在谷歌浏览器生效,在IE浏览器中不生效

分析原因:
在IE浏览器中,只有字符串格式的"/“能正常解析,”,“和”-"都不能。
IE11不能正常解析的时间:2020-09-29T00:00:00.000+0800

解决方法:

全局注册一个时间过滤器

1.在filters文件夹下面,创建一个tsDate1.js文件

const tsDate1 = function dateFormat(date, format) {
    if (arguments.length === 0) {
    return null
    }
    if (date === null) {
        return ''
    }

    if (date && typeof (date) === 'string') {
      date = date.replace(/\+[\d]{4}/, '')
    //   console.log(date,'222222222222')
    }
    date = new Date(date);
    if (!date || date.toUTCString() == "Invalid Date") {
        return "";
    }
    var map = {
        "M": date.getMonth() + 1, //月份 
        "D": date.getDate(), //日 
        "H": date.getHours(), //小时 
        "m": date.getMinutes(), //分 
        "s": date.getSeconds(), //秒 
        "q": Math.floor((date.getMonth() + 3) / 3), //季度 
        "S": date.getMilliseconds() //毫秒 
    };

    format = format.replace(/([YMDHmsqS])+/g, function(all, t) {
        var v = map[t];
        if (v !== undefined) {
            if (all.length > 1) {
                v = '0' + v;
                v = v.substr(v.length - 2);
            }
            return v;
        } else if (t === 'Y') {
            return (date.getFullYear() + '').substr(4 - all.length);
        }
        return all;
    });
    return format;
}

export default {
    tsDate1
}

2.在main.js中自定义一个全局过滤器

// 自定义过滤器
import Filters from './filters/tsDate1' 
Object.keys(Filters).forEach(key => Vue.filter(key, Filters[key]))

3.在组件使用,得到任何自己想要的格式

<span>{{ scope.row.effectTime | tsDate1('YYYY-MM-DD HH:mm:ss') }}</span>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值