像这样的
前言
情况是这样,很多时候会遇到一个小功能。
就是日期选择器搜索日期区间的数据。
这时候就可能会有人要求你一进来页面就搜索本月的数据
这个本月的数据是当前这个月的1号到当天的数据。
比如你今天是6月24号了。那么需要你一进页面直接获取到6月1号到6月23号得数据显示出来。
那么这时候如何做到刚进页面就拿到这个时间区间呢。
这里分享一个小方法,详细注释了肯定一看就会。
代码
submitTimeBy() {
let that = this
//拿到当前时间
var date = new Date();
//拿到当前月,字符串的话转成整数类型
var month = parseInt(date.getMonth() + 1);
console.log(month,'month');
//获取当前日期是几号
var day = date.getDate();
console.log(day,'day');
//判断:如果月份小于10就在前面加个0.好看一点
if (month < 10) month = "0" + month;
//拿到月初日期:getFullYear是获取当前年份,后面通过拼接把月份拼上,加上固定的1号得到月初的像这样2022-06-01
let yuechu = date.getFullYear() + "-" + month + "-" + '01';
console.log(yuechu,'yuechu');
//如果当前日期是第一天
if (day == 1) {
//那就直接赋值[2022-06-01,2022-06-01]到日期选择器内
that.values = [yuechu, yuechu]
console.log(that.values,'values1');
} else {
//如果不是,就当前天数减一,因为今天没过完,不能数据直接查今天的,一般是查截止昨天12点的
day = day - 1;
//和上面月份一样,为了好看,小于10就加个0
if (day < 10) day = "0" + day;
//拼接拿到当前的日期。day就是当前的日期
let yuedi = date.getFullYear() + "-" + month + "-" + day;
console.log(yuedi,'yuedi');
//然后把这个月的当前日期跨度传给日期选择器,像这样[2022-06-01,2022-06-23]
that.values = [yuechu, yuedi]
console.log(that.values,'values2');
}
//上面时间穿好了,这里可以直接调用搜索的接口,根据日期选择器这个时间搜索数据了。
that.search_day();
},