2016-02-27 128 views
-1

我的學校運行時間爲7天,所以如果今天(2016/02/26)是第1天,那麼明天將是第0天,星期一將是第2天,第二天將是2016年3月8日。我知道這很奇怪,但我試圖找到一種方法來在JavaScript中使用Date對象,並添加一個週期,即7天,不包括週末。在JavaScript中計算工作日週期

我想強調一下,週末不計算日數。我試圖找到一種省略週末的方法,輕鬆找到第二天,第五天或其他任何東西。

+0

http://stackoverflow.com/questions/3674539/incrementing-a-date- in-javascript/3674550#3674550 –

+0

*「如果今天(2016/02/26)是第1天,那麼明天將是第2天」* - 但是這會讓第2天進入週末。 – nnnnnn

+0

添加7天只是'date.setDate(date.getDate()+ 7)'。 – RobG

回答

0

根據週期的開始日期,您的7天學校週期中有1個或2個週末,因此實際週期爲9或11天。該Date.getDay()方法,您可以訪問一週的一天,所以一個可能的解決方案可能是這樣的:

var myDate= new Date(); 
switch(true) { 
//Sunday=0, Saturday=6 
case(myDate.getDay() % 6 == 0) : alert('weekend!'); return; 
case (myDate.getDay() < 4) : // Mon, Tues, Wed 
    myDate.setDate(myDate.getDate() + 9); 
    break; 
case (myDate.getDay() < 6) : // Thu, Fri 
    myDate.setDate(myDate.getDate() + 11); 
    break; 
} 
+0

我的錯誤...沒有周末。所以它增加了7天而不包括週末。 – RetroCraft

+0

然後newDate = myDate.setDate(myDate.getDate()+ 7); – grymlord

+0

這增加了7天,但仍然計算在這7天的週末。 – RetroCraft