修改月周期,当月指当天所在的月周期
This commit is contained in:
72
main.js
72
main.js
@@ -14755,24 +14755,62 @@
|
||||
function getCustomMonthRange(monthsAgo) {
|
||||
const now = new Date();
|
||||
let year = now.getFullYear();
|
||||
let month = now.getMonth() - monthsAgo;
|
||||
while (month < 0) {
|
||||
month += 12;
|
||||
year--;
|
||||
let month = now.getMonth();
|
||||
let day = now.getDate();
|
||||
|
||||
// 如果今天是21号及以后,当前周期是本月21到下月20
|
||||
// 否则,周期是上月21到本月20
|
||||
if (day >= 21) {
|
||||
month = month - monthsAgo;
|
||||
let startYear = year, startMonth = month;
|
||||
while (startMonth < 0) {
|
||||
startMonth += 12;
|
||||
startYear--;
|
||||
}
|
||||
let endYear = startYear, endMonth = startMonth + 1;
|
||||
if (endMonth > 11) {
|
||||
endMonth -= 12;
|
||||
endYear++;
|
||||
}
|
||||
const firstDay = new Date(startYear, startMonth, 21);
|
||||
const lastDay = new Date(endYear, endMonth, 20);
|
||||
const formatLocal = (date) => {
|
||||
return date.toLocaleDateString('en-CA', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit'
|
||||
}).replace(/\//g, '-');
|
||||
};
|
||||
return {
|
||||
firstDay: formatLocal(firstDay),
|
||||
lastDay: formatLocal(lastDay)
|
||||
};
|
||||
} else {
|
||||
month = month - monthsAgo - 1;
|
||||
let startYear = year, startMonth = month;
|
||||
while (startMonth < 0) {
|
||||
startMonth += 12;
|
||||
startYear--;
|
||||
}
|
||||
let endYear = startYear, endMonth = startMonth + 1;
|
||||
if (endMonth > 11) {
|
||||
endMonth -= 12;
|
||||
endYear++;
|
||||
}
|
||||
const firstDay = new Date(startYear, startMonth, 21);
|
||||
const lastDay = new Date(endYear, endMonth, 20);
|
||||
const formatLocal = (date) => {
|
||||
return date.toLocaleDateString('en-CA', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit'
|
||||
}).replace(/\//g, '-');
|
||||
};
|
||||
return {
|
||||
firstDay: formatLocal(firstDay),
|
||||
lastDay: formatLocal(lastDay)
|
||||
};
|
||||
}
|
||||
const firstDay = new Date(year, month - 1, 21);
|
||||
const lastDay = new Date(year, month, 20);
|
||||
const formatLocal = (date) => {
|
||||
return date.toLocaleDateString('en-CA', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit'
|
||||
}).replace(/\//g, '-');
|
||||
};
|
||||
return {
|
||||
firstDay: formatLocal(firstDay),
|
||||
lastDay: formatLocal(lastDay)
|
||||
};
|
||||
}
|
||||
|
||||
// 创建菜单按钮
|
||||
|
Reference in New Issue
Block a user