时间:2022-07-14 08:19:38 | 栏目:vue | 点击:次
整理文档,搜刮出一个vue时间格式化实例代码,稍微整理精简一下做下分享。
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.length === 1) ? str : padLeftZero(str)); } } return fmt; }; function padLeftZero(str) { return ('00' + str).substr(str.length); }
把上面代码保存为date.js放到你的公共js文件夹中。
在你的需要格式化时间戳的组件里像下面这样使用:
<template> <!-- 过滤器 --> <div>{{time | formatDate}}</div> <!-- 输出结果 --> <!-- <div>2016-07-23 21:52</div> --> </template> <script> import {formatDate} from './common/date.js'; export default { data() { return { time:1469281964000 } }, filters: { formatDate(time) { var date = new Date(time); return formatDate(date, yyyy-MM-dd hh:mm); } } } </script>