Проверка на точную дату, месяц/год в input

Нужно сделать проверку на дату.

  • Формат даты в input 06/24

  • Если даты меньше 06/24, я disabled кнопку

  • В идеале, что бы эта проверка каждый месяц сдвигалась на месяц вперед 07/24, 08/24 и так деле

Перепробовал много вариантов, из-за недостаточного опыта, не выходит

  const disableButtonIfDateBeforeJune24 = () => {
    const currentDate = new Date();
    const june24 = new Date(currentDate.getFullYear(), 5);

    return currentDate < june24;
}

и еще много всяких вариантов


Ответы (2 шт):

Автор решения: Aziz Umarov

Задача конечно "очень сложная" :) когда посмотришь на решение

Идея бери дату оттуда день сравнивай дни.

Ршение идеального варианта на много проще чем с датами который двигаются.

 const disableButtonIfDateBefore24 = () => {
    let currentDay = (new Date()).getDay();    
    return currentDay < 24;
}

console.log(disableButtonIfDateBefore24());

→ Ссылка
Автор решения: Max

Сделал так, работает прекрасно:

 const currentYear = (new Date()).getFullYear().toString().slice(-2);
 const currentMonth = (new Date()).getMonth().toString().padStart(2, '0');

    const checkCurrentDate = (date: string) => {
    const [month, year] = date.split('/');

    if (!year || !month) return false

    if (Number(year) < Number(currentYear)) return false

    return !(Number(year) === Number(currentYear) && Number(month) < Number(currentMonth) + 1);
}
→ Ссылка