vue 時間戳轉換為日期的方式
阿新 • • 發佈:2019-02-17
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); };
以上部分可以封裝到一個js裡,在vue中放在公共的部分,當要呼叫時,在元件中
<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>
這樣就可以直接用了