gpt4 book ai didi

javascript - 通过 Javascript 获取上季度和本季度的日期

转载 作者:太空狗 更新时间:2023-10-29 16:51:53 26 4
gpt4 key购买 nike

我正在尝试创建一个需要通过 Javascript 获取上一季度和本季度日期的报告。该代码上个月有效,但在 3 月它不起作用。上季度显示为本季度,本季度显示为下季度。我在这个项目中使用了 datejs。这是我正在使用的代码:

function thisQuarterDates(from, to) {
var month = Date.parse('today').toString('MM');
var quarterMonth = (Math.floor(month/3)*3)+1;
var year = Date.parse('today').toString('yyyy');

var quarterStartDate = (quarterMonth < 10) ? quarterMonth+'/1/' +year : quarterMonth+'/1/'+ year;
var quarterEndDate = Date.parse(quarterStartDate).add(2).months().moveToLastDayOfMonth().toString('M/d/yyyy');
var today = Date.parse('today').toString('M/d/yyyy');

document.getElementById(from).value = quarterStartDate;
document.getElementById(to).value = quarterEndDate;
}


function lastQuarterDates(from, to) {
var month = Date.parse('today').toString('MM');
var quarter = (Math.floor(month/3))+1;
var lastQuarter = (quarter > 1) ? quarter - 1 : lastQuarter = 4;
var year;
if (((((lastQuarter-1)*3)+1) < 10))
{
year = Date.parse('today').toString('yyyy');
}
else
{
year = Date.parse('today').add(-1).years().toString('yyyy');
}
var firstDate = ((((lastQuarter-1)*3)+1) < 10) ? (((lastQuarter-1)*3)+1) +'/1/'+ year : (((lastQuarter-1)*3)+1) +'/1/'+ year;
var lastDate = Date.parse(firstDate).add(2).months().moveToLastDayOfMonth().toString('M/d/yyyy');

document.getElementById(from).value = firstDate;
document.getElementById(to).value = lastDate;
}

有人知道为什么它不正确或有更简单的方法吗?

最佳答案

纯 JS 中的简单通用解决方案。
首先计算季度数:

const quarter = Math.floor((today.getMonth() / 3));
const today = new Date();

接下来,当前季度:

const startFullQuarter = new Date(today.getFullYear(), quarter * 3, 1);
const endFullQuarter = new Date(startFullQuarter.getFullYear(), startFullQuarter.getMonth() + 3, 0);

上一季度

const startFullQuarter = new Date(today.getFullYear(), quarter * 3 - 3, 1);
const endFullQuarter = new Date(startFullQuarter.getFullYear(), startFullQuarter.getMonth() + 3, 0);

在表达式 new Date(today.getFullYear(), quarter * 3 - x, 1) 中每季度添加或减去 3 以获得 future 或过去的季度。

关于javascript - 通过 Javascript 获取上季度和本季度的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9840512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com