最近在写一个列表显示时,后台返回的数据时时间格式为 “yyyy-MM-dd hh:mm:ss”
如图:
代码为:
<div v-for="(item,index) in showOpinionLists" :key="index" class="pagination-list">
<!--此处代码省略-->
......
<div class="pagination-date">
<div :style="item.status === '1' ? 'background-color: #5cbb5c;':'background-color: #409eff;'" class="handle-status">{{ item.status === '1' ?'已完结':'待处理' }}</div>
<div class="handle-date">
<span>{{ item.createtime }}</span>
</div>
</div>
</div>
</div>
想要把时间格式改为 “yyyy-MM-dd”,因为时间显示时靠for循环来赋值的,这时就需要用到filters过滤器
代码如下:
filters: {
formatDate(time) {
var date = new Date(time);
var year=date.getFullYear();
var month=date.getMonth()+1;
var date=date.getDate();
return year+"-"+month+"-"+date
}
},
<div class="handle-date">
<span>{{ item.createtime | formatDate}}</span>
</div>
此时时间显示为
但是月份month和日期date为单数时,日期格式不统一
此时就需要靠 ‘0’ 来补齐,代码为
formatDate(time) {
var date = new Date(time);
var year=date.getFullYear();
var month=date.getMonth()+1;
var date=date.getDate();
return year+"-"+month.toString().padStart(2,'0')+"-"+date.toString().padStart(2,'0')
}
显示: