js 筛选时间(本年、本月、本季等)
//获取近len天
$getday(len) {
let days = [];
var date = new Date();
for(let i=0; i<=24*(len-1);i+=24){ //今天加上前len-1天
let ob = date.getTime() - i * 60 * 60 * 1000
let dateItem=new Date(ob); //使用当天时间戳减去以前的时间毫秒(小时*分*秒*毫秒)
let y = dateItem.getFullYear(); //获取年份
let m = dateItem.getMonth() + 1; //获取月份js月份从0开始,需要+1
let d= dateItem.getDate(); //获取日期
m = this.$lessTen(m); //给为单数的月份补零
d = this.$lessTen(d); //给为单数的日期补零
let valueItem= y + '-' + m + '-' + d; //组合
days.push(valueItem); //添加至数组
}
let str = days[days.length-1] + ' 00:00:00:::' + days[0] + ' 23:59:59';
return str;
},
// 小于10 前面加 0
$lessTen(num) {
let str = 0;
if (Number(num) < 10) {
str = '0' + num;
} else {
str = '' + num;
}
return str;
},
// 筛选时间
$initDateTime(type) {
// type 1: 本周 2 本月 3 本季 4 本年 5 近7天 6 近30天 7 近90天
let now = new Date();
let str = '';
let y = now.getFullYear();
let m = now.getMonth() + 1;
let d = now.getDate();
switch (type) {
case 1:
let weekFirstDay = new Date(now - (now.getDay() - 1) * 86400000);
let firstMonth = Number(weekFirstDay.getMonth()) + 1;
str = weekFirstDay.getFullYear() + '-' + this.$lessTen(firstMonth) + '-' + this
.$lessTen(weekFirstDay.getDate()) + ' 00:00:00:::' + y + '-' + this.$lessTen(
m) + '-' + this.$lessTen(d) + ' 23:59:59';
break;
case 2:
str = y + '-' + this.$lessTen(m) + '-01 00:00:00:::' + y + '-' + this.$lessTen(m) +
'-' + this.$lessTen(d) + ' 23:59:59';
break;
case 3:
if (m < 4) {
str = y + '-01-01 00:00:00:::' + y + '-' + this.$lessTen(m) + '-' + this
.$lessTen(d) + ' 23:59:59';
} else if (m < 7) {
str = y + '-04-01 00:00:00:::' + y + '-' + this.$lessTen(m) + '-' + this
.$lessTen(d) + ' 23:59:59';
} else if (m < 10) {
str = y + '-07-01 00:00:00:::' + y + '-' + this.$lessTen(m) + '-' + this
.$lessTen(d) + ' 23:59:59';
} else {
str = y + '-10-01 00:00:00:::' + y + '-' + this.$lessTen(m) + '-' + this
.$lessTen(d) + ' 23:59:59';
}
break;
case 4:
str = y + '-01-01 00:00:00:::' + y + '-' + this.$lessTen(m) + '-' + this.$lessTen(
d) + ' 23:59:59';
break;
case 5:
str = this.$getday(7);
break;
case 6:
str = this.$getday(30);
break;
case 7:
str = this.$getday(90);
break;
default:
str = '';
};
return str;
}