美文网首页
前端日期格式化

前端日期格式化

作者: alipy_258 | 来源:发表于2017-12-07 21:12 被阅读0次

    需求:

    假如后端返回一串 "1469281964000",需要前端同学进行日期格式化为:"2016-07-23 21:52"

    方法:

    本篇文章语法涉及到:vue、es6

    代码如下:

    1. 首先我们建一个公共的 date.js 文件,这个文件,将来会存放很多重复使用的方法

    export function formatDate(date, fmt) {

        if (/(y+)/.test(fmt)) {

            fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))

        }

        let o = {

            'M+': date.getMonth() + 1,

            'd+': date.getDate(),

            'h+': date.getHours(),

            'm+': date.getMinutes(),

            's+': date.getSeconds()

        }

        for (let k in o) {

            if (new RegExp(`(${k})`).test(fmt)) {

                let str = o[k] + '' fmt = fmt.replace(RegExp.$1, RegExp.$1 === 1 ? str : padLeftZero(str))

            }

        }

        return fmt

    }

    function padLeftZero(str) {

        return ('00' + str).substr(str.length)

    }

    2. 在调用页面引入 date.js 文件

    <!--下面这个是html 模版,(1469261964000)这一串,就是需要转换的日期-->

    <div>{{1469261964000 | formatDate}}</div> 

    // 引入date.js文件

    import {formatDate} from 'common/js/date' 

    // 使用

    export default {

        filters: {

            formatDate(time) {

                let date = new Date(time) return formatDate(date, 'yyyy-MM-dd hh:mm')

            }

        }

    注意:filters 方法和methods 方法是同级的

    相关文章

      网友评论

          本文标题:前端日期格式化

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