美文网首页
2018-12-15 vue时间戳转换

2018-12-15 vue时间戳转换

作者: 众生皆似尘埃啊 | 来源:发表于2018-12-15 10:10 被阅读0次

    需求:我们要给用户展示的时间格式是2018-06-14 08:08:08,但是后台存储使用的格式是时间戳。第一步在vue项目的src目录下新建common文件夹,在common文件下新建一个filters文件夹,在filters文件夹下新建一个index.js文件。(个人习惯请自行灵活操作不必死搬硬套。个人习惯把过滤器,公共方法,自定义指令等等都放在common文件下。)

    1.index.js文件夹内容

    //时间戳转换
    export function dateFilter(time) {
        if (!time) { // 当时间是null或者无效格式时我们返回空
            return ''
        } else {
            const date = new Date(time) // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
            const dateNumFun = (num) => num < 10 ? `0${num}` : num // 使用箭头函数和三目运算以及es6字符串的简单操作。因为只有一个操作不需要{} ,目的就是数字小于10,例如9那么就加上一个0,变成09,否则就返回本身。
            // 这是es6的解构赋值。
            const [Y, M, D, h, m, s] = [
                date.getFullYear(),
                dateNumFun(date.getMonth() + 1),
                dateNumFun(date.getDate()),
                dateNumFun(date.getHours()),
                dateNumFun(date.getMinutes()),
                dateNumFun(date.getSeconds())
            ]
            return `${Y}-${M}-${D} ${h}:${m}:${s}` // 一定要注意是反引号,否则无效。
        }
    }
    //导出方法
    export default { dateFilter }
    

    2.main.js 注册成全局

    import * as custom from '@/common/filters' // 引入我们刚刚创建的文件
    
    // 全局注册
    Object.keys(custom).forEach(key => { Vue.filter(key, custom[key])})
    

    3.组件中使用

    {{Number(updateTime) | dateFilter}}
    大概就是这种效果:如果后台字段传过来时是1526634392000,过滤之后就变成了 2018-05-18 17:06:32
    

    相关文章

      网友评论

          本文标题:2018-12-15 vue时间戳转换

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