2017-04-10 80 views
-1

,因爲我有我的一個名爲季度頁面下拉已下列值 -的JavaScript +定義日期每季度

Quarter 1 
Quarter 2 
Quarter 3 
Quarter 4 

此外,我有一個名爲一年的年值另一個領域 - 2015,2016,2-17, 2-18,2019,2020

我想定義在我的javascript代碼每個季度的數值一樣

if(quarter = "quarter 1") 
{ 
    startdate = 2017-01-01;enddate = 2017-01-31 
} 

等了其他宿舍也。

我想問一下,是否有內置的功能來獲取每個季度的startdate和enddate,並且我會將year字段值附加到它,因此它不保持靜態。

任何幫助,將不勝感激。

由於提前

+0

什麼是1季度的開始? – gurvinder372

+0

@ gurvinder372 1月第一 – mplungjan

+0

沒有內置處理。但'var yyyy = new Date()。getFullYear(),Q1Start = yyyy +「 - 01-01」,Q1End = yyyy +「 - 01-31」,Q2Start = yyyy +「 - 04-01」,Q2End yyyy +「 - 07-31」'等 – mplungjan

回答

0

我想問一下如果有內置的功能,以獲得開始日期日期和結束日期每個季度,我將在今年字段值追加到它。

那些是常數。以Q1爲例,你談的是一年中的正常日曆季度。 Q1從01/01開始到31/03結束,Q2從01/04開始並在30/06結束等。由於沒有季度開始或在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)) 
}; 
// ... 
0

一個財政年度開始季度4月1日對許多國家,所以我認爲你需要首先設置的quarter 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
//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; 
相關問題