Нам требовалось ограничение, чтобы блокировать следующие два рабочих дня с помощью 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 февраля некоторые работали хорошо, и некоторые пользователи сообщали, что ограниченная дата - три рабочих дня вместо двух, и я не знаю, возможно ли это с этим кодом.
Не могли бы вы взглянуть и сообщить мне, если я допустил ошибку здесь?
Я заранее благодарен за помощь.