- 判断是否是今天
- 判断距今是几天
- 怎么在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名