如何使用 javascript 获取当前季度?我正在尝试检测我们目前处于哪个季度,例如2.
编辑我如何计算该季度剩余的天数?
最佳答案
假设一月到三月被视为第一季度(某些国家/公司将其财政年度与日历年分开),以下代码应该有效:
var today = new Date();
var quarter = Math.floor((today.getMonth() + 3) / 3);
这给你:
Month getMonth() quarter
--------- ---------- -------
January 0 1
February 1 1
March 2 1
April 3 2
May 4 2
June 5 2
July 6 3
August 7 3
September 8 3
October 9 4
November 10 4
December 11 4
至于如何获取季度剩余天数,基本上就是算出下季度的第一天,然后算出差额,比如:
var today = new Date();
var quarter = Math.floor((today.getMonth() + 3) / 3);
var nextq;
if (quarter == 4) {
nextq = new Date (today.getFullYear() + 1, 1, 1);
} else {
nextq = new Date (today.getFullYear(), quarter * 3, 1);
}
var millis1 = today.getTime();
var millis2 = nextq.getTime();
var daydiff = (millis2 - millis1) / 1000 / 60 / 60 / 24;
这尚未经过测试,但理论是合理的。基本上创建一个对应于下一个季度的日期,将其和今天转换为自纪元开始以来的毫秒数,然后差值就是毫秒数。
将其除以一天中的毫秒数,即可得出天数差异。
这给出了(至少大致)该季度剩余的天数。您可能需要对其进行微调,以确保所有时间都设置为相同的值 (00:00:00),以便差异精确到天数。
它也可能会减少一位,具体取决于您对“季度剩余天数”的实际定义。
但这应该是一个很好的起点。
关于javascript - 使用 javascript 获取当前季度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11981453/