javascript+;定义每个季度的日期
我在我的页面上有一个名为Quarter的下拉列表,其中包含以下值-javascript+;定义每个季度的日期,javascript,Javascript,我在我的页面上有一个名为Quarter的下拉列表,其中包含以下值- Quarter 1 Quarter 2 Quarter 3 Quarter 4 另外,我还有一个名为Year的字段,其年份值为20152016,2-17,2-1820192020 我想在javascript代码中定义每个季度的值,如 if(quarter = "quarter 1") { startdate = 2017-01-01;enddate = 2017-01-31 } 其他方面也是如此 我想问一下,是否有内置功
Quarter 1
Quarter 2
Quarter 3
Quarter 4
另外,我还有一个名为Year的字段,其年份值为20152016,2-17,2-1820192020
我想在javascript代码中定义每个季度的值,如
if(quarter = "quarter 1")
{
startdate = 2017-01-01;enddate = 2017-01-31
}
其他方面也是如此
我想问一下,是否有内置功能来获取每个季度的startdate和enddate,我会将year字段值附加到其中,这样它就不会保持静态
任何帮助都将不胜感激
提前谢谢
我想问一下,是否有内置的功能来获取每个季度的startdate和enddate,我将在其中附加year字段值
这些是常数。以第一季度为例,您所说的是一年中正常的日历季度。第一季度从2001年1月1日开始,到2003年31月31日结束,第二季度从2004年1月1日开始,到2006年30日结束,等等。由于没有季度从2月最后一天开始或结束,因此这不是一个移动目标
不,没有内置功能,但您不需要任何。只需根据这些恒定的月和日值以及所需的年份构造日期
var q1 = {
start: new Date(2017, 0, 1), // Remember, January = 0 here
end: new Date(2017, 2, 31)
};
// ...
或UTC:
var q1 = {
start: new Date(Date.UTC(2017, 0, 1)),
end: new Date(Date.UTC(2017, 2, 31))
};
// ...
对于许多国家,一个财政年度的季度从4月1日开始,因此我认为您需要首先设置第一季度的开始日期 比方说
var startDate = new Date();
date.setMonth(2);
date.setDate(1);
然后你可以有如下功能
function addQuarter(date)
{
date.setMonth( date.getMonth() + 3 );
return date;
}
比如说
addQuarter(date); //returns Thu Jun 01 2017
类似于获取季度的最后日期
function lastDateOfQuarter( date )
{
date.setMonth( date.getMonth() + 3 );
date.setDate( date.getDate() - 1);
return date;
}
您可以根据显示要求设置日期格式
function formatDate( date )
{
return date.getDate() + "-" + ( date.getMonth() + 1 ) + "-" + date.getFullYear();
}
第1季度的开始是什么?@gurvinder372 Jan first没有内置处理。但是
var yyyy=new Date().getFullYear(),Q1Start=yyyy+“-01-01”,Q1End=yyy+“-01-31”,Q2Start=yyyy+“-04-01”,Q2End-yyy+“-07-31”
等等您为“第一季度”
指定的开始和结束日期只定义一个月(一月),而不是一个季度。
//if you are using current year
var todayDate=new Date();
var startMonth=todayDate.getMonth();
var startDay=1;
var endMonth=todayDate.getMonth();
var endtDay=31;
switch(quarterValue){
case "Q1" : startMonth=0;endMonth=2;
case "Q2" : startMonth=3;endMonth=5;
case "Q3" : startMonth=6;endMonth=8;
case "Q4" : startMonth=9;endMonth=11;
}
todayDate.setMonth(startMonth);
todayDate.setDate(startDay);
var startDate=todayDate;
todayDate.setMonth(endMonth);
todayDate.setDate(endDay);
var endDate=todayDate;