vue-格式化时间戳+格式化编程思想
首先,数据库中往往存储的是时间的毫秒形式,这样在页面上可以操控显示时间的格式。1. 页面中:<div class="time">{{rating.rateTime | formatDate}}</div>这里formatDate时一个过滤器2. 在页面js中定义这个过滤器:import {formatDate} from '../../common/js/date.js'expo
·
首先,数据库中往往存储的是时间的毫秒形式,这样在页面上可以操控显示时间的格式。
1. 页面中:
<div class="time">{{rating.rateTime | formatDate}}</div>
这里formatDate时一个过滤器
2. 在页面js中定义这个过滤器:
import {formatDate} from '../../common/js/date.js'
export default{
data(){
return {}
},
filters:{
formatDate(time){
let date = new Date(time);
return formatDate(date,'yyyy-MM-dd hh:mm');
//此处formatDate是一个函数,将其封装在common/js/date.js里面,便于全局使用
}
}
}
3 定义common/js/date.js 的formatDate函数
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){
let str = o[k]+'';
if(new RegExp(`(${k})`).test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length===1)?str:padLeftZero(str));
}
}
return fmt;
};
function padLeftZero(str){
return ('00'+str).substr(str.length);
}
这里formatDate函数有一个优点,他将可能的时间格式全部都处理了,包括‘09’或者‘9’,年份显示‘2016’或者‘16’,只需通过传递给formatDate函数 格式即可。
更多推荐
已为社区贡献5条内容
所有评论(0)