如果 传入的date
存在,则使用 new Date(date)
将其转换为日期对象;如果不存在,则使用当前日期 new Date();
处理无效日期时直接返回了 date
// 格式化日期和时间
export const formatDate = (date, fmt) => {
date = date ? new Date(date) : new Date()
if (isNaN(date.getDate())) {
return date
}
if ((/(y+)/u).test(fmt)) {
fmt = fmt.replace(RegExp.$1, `${date.getFullYear()}`.substr(4 - RegExp.$1.length))
}
const o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
}
for (const k in o) {
if (new RegExp(`(${k})`, 'u').test(fmt)) {
const str = `${o[k]}`
fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : `00${str}`.substr(str.length))
}
}
return fmt
}
<template>
<div class="header">
<div v-if="getQualified" class="complete-time">
{{ $t('时间') }}:{{ formatTime(getQualified) }}
</div>
</div>
</template>
<script>
import { formatDate } from '@/utils.js'
export default {
computed: {
formatTime() {
return (time) => formatDate(time, 'yyyy-MM-dd hh:mm')
}
}
}
</script>