vue判断时间,通过filter筛选

  1. 判断是否是今天
  2. 判断距今是几天
  3. 怎么在vue页面使用和封装

判断是否是今天

// var str = '2020-07-28 16:44:57' 
var d = new Date(str.replace(/-/g,"/"));
var todaysDate = new Date();
if(d.setHours(0,0,0,0) == todaysDate.setHours(0,0,0,0)){
	console.log('时间true')
} else {
	console.log('时间false')

判断距今几天

chaTime(data){
	var date = data.toString();
	var year = date.substring(0,4);
	var month = date.substring(5,7);
	var day = date.substring(8,10);
	var d1 = new Date(year+'/'+month+'/'+day);
	var dd = new Date();
	var y= dd.getFullYear();
	var m=dd.getMonth()+1;
	var d=dd.getDate();
	var d2 = new Date(y+'/'+m+'/'+d);
	var iday = parseInt(d2-d1)/1000/60/60/24;
	if(iday=='0') {
		return '今天' 
	}else if(iday=='-1') {
		return '明天'
	}else if(iday=='1') {
		return '昨日'
	}else {
		return data
	}
},

在vue页面中使用(filter)

在全局的js文件中

export default {
	filters:{
		// 要用到的方法,返回数据
		chaTime(data){...},
		isIf(data){...}				
	}
}

在使用的vue页面中

<div>{{time | chaTime}}</div>

当需要根据返回的信息设置不同的样式时

可以同样使用此方法,但返回特殊class名,通过class名来显示,但可能会有兼容问题,可以封装成自己想要的样子,通过ifdef不同编译实现

// props接收time
<div class="jinrishoufa" :class="time|isIf">{{time|chaTime2}}</div>
// filter中需要的条件返回class名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值