// 获取时间
getCurrentToPreviousDateTimeRange(interval) {
// 获取当前时间
let currentDateTime = new Date();
// 根据传入的间隔计算之前的时间
let previousDateTime;
switch (interval) {
case 'week':
previousDateTime = new Date(currentDateTime - 7 * 24 * 60 * 60 * 1000);
break;
case 'month':
previousDateTime = new Date(currentDateTime.getFullYear(), currentDateTime.getMonth() - 1, currentDateTime.getDate());
break;
case 'halfYear':
previousDateTime = new Date(currentDateTime.getFullYear(), currentDateTime.getMonth() - 6, currentDateTime.getDate());
break;
case 'year':
previousDateTime = new Date(currentDateTime.getFullYear() - 1, currentDateTime.getMonth(), currentDateTime.getDate());
break;
default:
throw new Error('Invalid interval');
}
// 格式化日期时间为YYYY-MM-DD HH:mm:ss格式
function formatDateTime(dateTime) {
let year = dateTime.getFullYear();
let month = (1 + dateTime.getMonth()).toString().padStart(2, '0');
let day = dateTime.getDate().toString().padStart(2, '0');
let hours = dateTime.getHours().toString().padStart(2, '0');
let minutes = dateTime.getMinutes().toString().padStart(2, '0');
let seconds = dateTime.getSeconds().toString().padStart(2, '0');
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}
// 返回时间区间
return {
start: formatDateTime(currentDateTime),
end: formatDateTime(previousDateTime)
};
},
time(value) {
// 一周
if (value == 1) {
// 获取时间区间并打印
let weekRange = this.getCurrentToPreviousDateTimeRange('week');
this.params.start_time = weekRange.end
this.params.end_time = weekRange.start
}
// 一个月
if (value == 2) {
let monthRange = this.getCurrentToPreviousDateTimeRange('month');
this.params.start_time = monthRange.end
this.params.end_time = monthRange.start
}
// 半年
if (value == 3) {
let halfYearRange = this.getCurrentToPreviousDateTimeRange('halfYear');
this.params.start_time = halfYearRange.end
this.params.end_time = halfYearRange.start
}
// 一年
if (value == 4) {
let yearRange = this.getCurrentToPreviousDateTimeRange('year');
this.params.start_time = yearRange.end
this.params.end_time = yearRange.start
}
},