Получите следующую дату с рабочего дня в JavaScript

Python - это высокоуровневый язык. C ++ - язык среднего уровня .

15
задан Грозный 26 April 2017 в 15:59
поделиться

3 ответа

Простое добавление 7 не решает проблему.

Приведенная ниже функция даст вам на следующий день недели.

function nextDay(x){
    var now = new Date();    
    now.setDate(now.getDate() + (x+(7-now.getDay())) % 7);
    return now;
}
29
ответ дан 1 December 2019 в 00:14
поделиться

Чтобы развернуть пользователя 190106 ответ , этот код должен дать вам то, что вы хотели:

function getNextDay(day, resetTime){
  var days = {
    sunday: 0, monday: 1, tuesday: 2,
    wednesday: 3, thursday: 4, friday: 5, saturday: 6
  };

  var dayIndex = days[day.toLowerCase()];
  if (dayIndex !== undefined) {
    throw new Error('"' + day + '" is not a valid input.');
  }

  var returnDate = new Date();
  var returnDay = returnDate.getDay();
  if (dayIndex !== returnDay) {
    returnDate.setDate(returnDate.getDate() + (dayIndex + (7 - returnDay)) % 7);
  }

  if (resetTime) {
    returnDate.setHours(0);
    returnDate.setMinutes(0);
    returnDate.setSeconds(0);
    returnDate.setMilliseconds(0);
  }
  return returnDate;
}

alert(getNextDay('thursday', true));
3
ответ дан 1 December 2019 в 00:14
поделиться
0
ответ дан 1 December 2019 в 00:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: