三、定义时间格式的全局过滤器

1、源码

<th>{{item.ctime | dataFormat}}</th>


Vue.filter('dataFormat',function(dateStr,pattern=""){

var dt = new Date(dateStr)

var year = dt.getFullYear()

var month = dt.getMonth()

var day = dt.getDate()

if(pattern.toLowerCase() === 'yyy-mm-dd'){

return `${year}-${month}-${day}`

}else{

var hour = dt.getHours()

var monent = dt.getMinutes()

var seconds = dt.getSeconds()

return `${year}-${month}-${day} ${hour}:${monent}:${seconds}`

}

})


2、展示




PS:

(1)时间函数:年月日时分秒:

var dt = new Date(dateStr)

var year = dt.getFullYear()

var month = dt.getMonth()

var day = dt.getDate()

var hour = dt.getHours()

var monent = dt.getMinutes()

var seconds = dt.getSeconds()

(2)用模板字符串格式输出标准的时间格式:

return `${year}-${month}-${day} ${hour}:${monent}:${seconds}`

(3)过滤器函数:

Vue.filter('dataFormat',function(dateStr,pattern=""){

    if(pattern.toLowerCase() === 'yyy-mm-dd'){

        return

}

}

(4)过滤器优先级:私有过滤器filters >全局过滤器filter

私有过滤器在该vm内部创建filters即可。全局过滤器在外部创建filter,全局可用。

(5)将时间格式补全,若数字一位数,则都补为两位数(在前补0)

var hour = dt.getHours().toString().padStart(2,'0')

var monent = dt.getMinutes().toString().padStart(2,'0')

var seconds = dt.getSeconds().toString().padStart(2,'0')

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容