Как правильно рассчитать дату через конструктор new Date?

в календаре мне нужно, чтобы даты, которые больше startDay и меньше endDay, принимали неактивный, зачеркнутый вид, этого я достигаю через функцию disabledDateHandler. Помогите, правильно рассчитать endDay, необходимо, чтобы были доступны даты от выбранного дня (допустим сегодняшнего) и на 6 месяцев ранее, но тоже строго до этого дня, то есть, например, от 22.01.2021 до 22.07.2020
const dateStr = useSelector(getDate); // приходит строка вида 2020-11-22 допустим

const generateEndDate = (date, number) => {
  return new Date(date.getFullYear(), date.getMonth(), date.getDate() + number);
};

  const [startDay, endDay] = useMemo(() => {
    const [year, month, day] = dateStr.split('-');
    const start = new Date(year, month - 1, day);
      return [start, generateEndDate(start, -180)];
  }, [dateStr]);

  сonst disabledDateHandler = useCallback(
    date => date > startDay || date < endDay : date > new Date(),
    [startDay, endDay],
  );

  <DatePicker
      format={format}
      locale={locale}
      block={block}
      placement={placement}
      disabled={disabled}
      appearance={isBorderHidden ? 'subtle' : 'default'}
      cleanable={cleanable}
      value={valueDate}
      isoWeek
      disabledDate={disabledDateHandler}
      {...rest}
    />
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы