获取日期范围的方法
// 获取日期范围
// val传值(yesterday、week、pastWeek、month、pastMonth、threeMonth、quarter、halfYear等)
// val就是传的下面switch中的判断条件
export function getDateRang(val) {
const now = new Date(); // 当前日期
const nowDayOfWeek = now.getDay(); // 今天本周的第几天
const nowDay = now.getDate(); // 当前日
const nowMonth = now.getMonth(); // 当前月
const nowYear = now.getFullYear(); // 当前年
const jd = Math.ceil((nowMonth + 1) / 3);
let startTime;
let endTime;
let customTime = [];
switch (val) {
case 'yesterday': // 昨日
startTime = new Date(nowYear, nowMonth, nowDay - 1);
endTime = new Date(nowYear, nowMonth, nowDay - 1);
break;
case 'week': // 本周
startTime = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
endTime = new Date(nowYear, nowMonth, nowDay + 6 - nowDayOfWeek);
break;
case 'pastWeek': // 近 7 日
startTime = new Date(nowYear, nowMonth, nowDay - 6);
endTime = new Date(nowYear, nowMonth, nowDay);
break;
case 'month': // 本月
startTime = new Date(nowYear, nowMonth, 1);
endTime = new Date(nowYear, nowMonth + 1, 0);
break;
case 'pastMonth': // 近 31 日
startTime = new Date(nowYear, nowMonth, nowDay - 30);
endTime = new Date(nowYear, nowMonth, nowDay);
break;
case 'threeMonth': // 近三个月
startTime = new Date(nowYear, nowMonth-2, 1);
endTime = new Date(nowYear, nowMonth, nowDay);
break;
case 'quarter': // 本季度
startTime = new Date(nowYear, (jd - 1) * 3, 1);
endTime = new Date(nowYear, jd * 3, 0);
break;
case 'halfYear': // 半年
startTime = new Date(now.getFullYear(), now.getMonth() - 6, now.getDate());
endTime = new Date(now.getFullYear(), now.getMonth(), now.getDate());
break;
case 'year': // 今年
startTime = new Date(nowYear, 0, 1);
endTime = new Date(nowYear, nowMonth, nowDay);
break;
case 'lastYear': // 往年
startTime = new Date(nowYear-1, 0, 1);
endTime = new Date(nowYear-1, 11, 31);
break;
default: // 自定义时间
customTime = val.split(' - ');
break;
}
return customTime.length ? customTime : [formatDate(startTime), formatDate(endTime)];
}
// 转换日期格式
export function formatDate(date) {
const y = date.getFullYear();
let m = date.getMonth() + 1;
m = m < 10 ? `0${m}` : m;
let d = date.getDate();
d = d < 10 ? `0${d}` : d;
return `${y}/${m}/${d}`;
}
获取年份列表方法
// 获取年份列表【N输入整数字来判断最早年份时间】
export function getYearList(N) {
const currentYear = new Date().getFullYear();
let yearList = [];
for (let i = 0; i < N; i++) {
yearList.push(currentYear - i);
}
return yearList;
}