使用vue中的filters过滤器将后台传输的时间戳转化为时间格式进行显示。
1.遇到的问题:页面显示为时间戳,如图所示
2.解决方法:
首先在export default 中自定义一个时间戳转化为时间类型的过滤器(我的过滤器命名为formatDate)。代码如下:
export default {
filters: {
formatDate: function(value) {
if (value == null) {
return null
}
var date = new Date(value)
var y = date.getFullYear()
var m = date.getMonth() + 1
m = m < 10 ? ('0' + m) : m
var d = date.getDate()
d = d < 10 ? ('0' + d) : d
var h = date.getHours()
h = h < 10 ? ('0' + h) : h
var minute = date.getMinutes()
var second = date.getSeconds()
minute = minute < 10 ? ('0' + minute) : minute
second = second < 10 ? ('0' + second) : second
return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
}
},
}
然后在需要进行时间转化的变量处绑定时间过滤器(通过在变量后添加 | formatDate 绑定),代码如下:
<span>{{ item.msgSendtime | formatDate}}</span>
div块参考:
<div v-bind:id="msgSendtime | formatDate"></div>
实现的效果如图:
参考文章:https://cn.vuejs.org/v2/guide/filters.html.