2016-02-27 4 views
-1

Моя школа работает на 7-дневном цикле, поэтому, если сегодня (2016/02/26) был 1-й день, завтра будет день 0, понедельник будет днем ​​2, а на следующий день 1 будет 2016/03/08. Я знаю, что это очень странно, но я пытаюсь найти способ использовать объект Date в JavaScript и добавить один цикл, то есть 7 дней, не включая выходные.Подсчет будних циклов в JavaScript

Я хотел бы подчеркнуть, что выходные дни НЕ СЧИТАЮТСЯ к подсчету дня. Я пытаюсь найти способ пропустить выходные и легко найти следующий день 1 или 5 или что-то еще.

+0

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

+0

* «Если сегодня (2016/02/26) был 1-й день, завтра будет день 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

Смежные вопросы