Реагирует на DayPickerInput JavaScript, установленный перед: новая дата (this.state.noDay) - PullRequest
0 голосов
/ 28 февраля 2019

Нам требовалось ограничение, чтобы блокировать следующие два рабочих дня с помощью React DayPickerInput до 15:00 с понедельника по пятницу, а затем переключиться на три дня, как только часы достигнут 15:00 (по местному времени), и придумать следующее:

dateRestriction = () => {
const date = new Date();
const nutrition_offset = date.getTimezoneOffset() + 240;
date.setMinutes(date.getMinutes() + nutrition_offset);
const year = date.getFullYear();

let month = date.getMonth() + 1;
if (month < 10) {
  month = ('0' + month)
}

let day = date.getDate();
if ((date.getDay() === 4) || (date.getDay() === 5)) {
  if (date.getDate() < 5) {
    day = ('0' + (date.getDate() + 5));
  } else {
    day = date.getDate() + 5;
  }
}
if (date.getDay() === 6) {
  if (date.getDate() < 6) {
    day = ('0' + (date.getDate() + 4));
  } else {
    day = date.getDate() + 4;
  }
}
if ((date.getDay() === 0) || (date.getDay() === 1) || (date.getDay() === 2) || (date.getDay() === 3)) {
  if (date.getDate() < 7) {
    day = ('0' + (date.getDate() + 3));
  } else {
    day = date.getDate() + 3;
  }
}

let dateRestricted = this.parseDate_(year + '-' + month + '-' + day);

this.setState({
  noDay: dateRestricted,
  currentYear: year
});
}

До утреннего времени 25 февраля некоторые работали хорошо, и некоторые пользователи сообщали, что ограниченная дата - три рабочих дня вместо двух, и я не знаю, возможно ли это с этим кодом.

Не могли бы вы взглянуть и сообщить мне, если я допустил ошибку здесь?

Я заранее благодарен за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...