以vue开发为例,最好在单独的js文件里面写入函数,以供所有页面能够调用
//时间格式转换函数
export function formatDate(date,fmt) {
/*
* y+ -> 1个或者多个y
* y* -> 0个或者多个y
* y? -> 0个或者1个y
* */
//1.获取年份
if ( /(y+)/.test(fmt) ){
// 此处下面将一个数字加上一个空字符串就变成字符串-> 简便做法
fmt = fmt.replace(RegExp.$1,(date.getFullYear()+ '').substr(4-RegExp.$1.length))
}
//2.获取其他
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 : padLefZero(str))
}
}
return fmt
}
function padLefZero(str) {
return ('00' + str ).substr(str.length)
}
在页面引入再调用
import {formatDate} from 'common/utils.js'
filters:{
showDate(value){
//1.现将时间戳转换为时间对象 --> *1000转换成毫秒
const date = new Date(value * 1000)
//2.将date格式化
return formatDate(date,'yyyy-MM-dd HH:mm:ss')
}
}
<span class="time">{{common.goodscommon.created | showDate}}</span>
结果显示:2018-08-27 08:32:38