前言
在項目中,經(jīng)常會有后臺返回一個時間戳,頁面展示用的卻是日期格式的情況
不同組件多次使用的話,那么建議在 src 下新建一個 common 文件夾,創(chuàng)建 date.js 文件,方便多次復(fù)用
在組件中使用
<template> <div> <p>{{date1 | formatDate}}</p> <p>{{date1 | formatDate2}}</p> <p>{{date1 | formatDate3}}</p> </div> </template> <script> import { formatDate } from '@/common/date.js' // 在組件中引用date.js export default { data() { return { date1: 1646461131351 } }, filters: { /* 時間格式自定義 只需把字符串里面的改成自己所需的格式 */ formatDate(time) { var date = new Date(time); return formatDate(date, 'yyyy.MM.dd'); }, formatDate2(time) { var date = new Date(time); return formatDate(date, 'hh:mm:ss'); }, formatDate3(time) { var date = new Date(time); return formatDate(date, 'yyyy年MM月dd日 hh:mm:ss'); } } } </script>
效果圖
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.length === 1) ? str : padLeftZero(str)); } } return fmt; }; function padLeftZero(str) { return ('00' + str).substr(str.length); };
如果本篇文章對你有幫助的話,很高興能夠幫助上你。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com