Skip to content

Latest commit

 

History

History
81 lines (73 loc) · 3.26 KB

task.md

File metadata and controls

81 lines (73 loc) · 3.26 KB

Задача рабочий день

Нам нужно поставить дедлайн выполнения задачи на следующий рабочий день (Выходными считаются: суббота, воскресенье и праздничные дни).

Для того, чтобы опредилить дату дедлайна, напишите функцию, которая на вход получает дату для проверки и возвращает дату рабочего дня

Так-же у вас имеется массив праздничных дней

['2023-02-23', '2023-02-24'] // массив выходных

getJobDay(new Date(2023, 02, 23))

Пример

Сегодня 2023-04-23
2023-02-23 - Выходной (праздник)
2023-02-24 - Выходной (праздник)
2023-02-25 - Выходной (суббота)
2023-02-26 - Выходной (воскресенье)
2023-02-27 - Рабочий день

Массив праздников

[
    "2022-01-03",
    "2022-01-04",
    "2022-01-05",
    "2022-01-06",
    "2022-01-07",
    "2022-02-22",
    "2022-02-23",
    "2022-03-07",
    "2022-03-08",
    "2022-05-02",
    "2022-05-09",
    "2022-06-13",
    "2022-11-03",
    "2022-11-04",
    "2023-01-02",
    "2023-01-03",
    "2023-01-04",
    "2023-01-05",
    "2023-01-06",
    "2023-02-23",
    "2023-02-24",
    "2023-03-07",
    "2023-03-08",
    "2023-05-01",
    "2023-05-08",
    "2023-05-09",
    "2023-06-12",
    "2023-11-03",
    "2023-11-06"
]

Задача разница дат

Мы заключаем договор с клиентами, но для расчётов оплаты, требуется определить сколько: дней, месяцев и годов, между двумя датами

Напишите функцию, которая аргументами получает 2 даты (Дату начала договора, Дату окончания договора) и возвращает объект { years, mouths, days }

Функция должна учитывать високосный год и включать конечную дату

getInterval(new Date(2023, 1, 10), new Date(2023, 12, 8)) // return { years: 0, mouths: 10, days: 29 }
getInterval(new Date(2023, 3, 1), new Date(2023, 5, 31)) // return { years: 0, mouths: 3, days: 0 }

Периоды для проверки:

10.01.2023 - 08.12.2023 // return { "years":0 ,"months":10, "days":29 }
01.03.2023 - 18.07.2023 // return { "years":0 ,"months":4, "days":18 }
26.01.2023 - 23.06.2023 // return { "years":0 ,"months":4, "days":29 }
01.03.2023 - 31.05.2023 // return { "years":0 ,"months":3, "days":0 }
01.03.2023 - 18.07.2023 // return { "years":0 ,"months":4, "days":18 }
25.09.2023 - 01.04.2024 // return { "years":0 ,"months":6, "days":8 }
01.04.2023 - 24.09.2023 // return { "years":0 ,"months":5, "days":24 }
01.03.2023 - 19.07.2023 // return { "years":0 ,"months":4, "days":19 }
19.04.2023 - 29.02.2024 // return { "years":0 ,"months":10, "days":11 }
01.04.2023 - 29.02.2024 // return { "years":0 ,"months":11, "days":0 }
01.06.2023 - 29.02.2024 // return { "years":0 ,"months":9, "days":0 }