需求背景
最近有这么个需求,需要再vue
中对日期进行判断,从而显示某些数据是昨日
还是今日
。
解决方案
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>招标信息 <el-tag>{
{date|formatDate(this)}}</el-tag></span>
<!-- <el-button style="float: right; padding: 3px 0" type="text">操作按钮</el-button>-->
</div>
<div v-for="o in tableData" :key="o.openId" class="text item">
<el-link :href=o.url><i class="el-icon-circle-plus-outline"></i>{
{o.createTime|formatDate2(this)}} {
{o.tenderName }}</el-link>
</div>
</el-card>
我的思路,利用时间格式中的日期,也就是Date.getDate()
进行判断。
关于vue获取今天是周几时间格式,获取周几的请看上一篇vue转换时间格式的过滤器
formatDate2(date,vm) {
//当前时间格式化处理
let str = "";
if(new Date(date).getDate() === new Date().getDate()){
str="(今日)";
}else if(new Date(date).getDate() === (new Date().getDate()-1)){
str="(昨日)";
}
else if(new Date(date).getDate() === (new Date().getDate()+1)){
str="(明日)";
}
return str;
}
当然,也可以自己扩展某些想法:
if(new Date(date).getDate() < new Date().getDate()){
str="(过去)";
}