如何动态获取过往3或5个财年 现有JS代码仅能输出当前财年
解决方案
调整思路
- 保留原有单财年的计算逻辑,新增年份偏移循环,支持自定义返回财年数量
- 支持获取3个/5个或任意数量的过往财年
- 结果默认按从近到远排序,可灵活调整为从远到近
实现代码
function getPastFinancialYears(count = 3) { const currentFullYear = new Date().getFullYear(); const financialYears = []; for (let offset = 0; offset < count; offset++) { const endYear = currentFullYear - offset; const startYear = endYear - 1; // 当前输出格式和你原有代码一致,为「开始完整年份-结束年份后两位」,如2023-24 const yearItem = `${startYear}-${endYear.toString().slice(-2)}`; // 如果需要示例格式「结束完整年份-开始年份后两位」,如2024-23,替换为下面这句即可 // const yearItem = `${endYear}-${startYear.toString().slice(-2)}`; financialYears.push(yearItem); } return financialYears; }
使用示例
// 获取过往3个财年 console.log(getPastFinancialYears(3)); // 2024年运行默认输出:['2023-24', '2022-23', '2021-22'] // 切换为示例格式后2024年运行输出:['2024-23', '2023-22', '2022-21'] // 获取过往5个财年 console.log(getPastFinancialYears(5)); // 2024年运行默认输出:['2023-24', '2022-23', '2021-22', '2020-21', '2019-20'] // 如需按从旧到新排序,调用reverse方法即可 console.log(getPastFinancialYears(3).reverse()); // 2024年运行默认输出:['2021-22', '2022-23', '2023-24']
内容的提问来源于stack exchange,提问作者Akshay Gaikwad
相关产品推荐
相关产品推荐

