<!-- value 格式為13位unix時間戳 -->
<!-- 10位unix時間戳可通過value*1000轉換為13位格式 -->
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>
<!-- 過濾器 time 可以使后台得到的數據,循環出來的也行 -->
<div>{{time | formatDate}}</div>
<!-- 輸出結果 -->
<!-- <div>2016-07-23 21:52</div> -->
</template>
<script>
import {formatDate} from './common/date.js';
export default {
filters: {
formatDate(time) {
var date = new Date(time);
return formatDate(date, 'yyyy-MM-dd hh:mm');
}
}
}
</script>
這樣就好了
