2.4 Работа с датами
12 из 12 шагов пройдено
11 из 11 баллов  получено

Напишите функцию (обновите существующую), которая выводит, сколько дней осталось до вашего следующего дня рождения, принимая день рождения как параметр. Используйте шаблон кода внизу.

После создания функции используйте console.log(daysUntilBirthday.toString()) для вывода кода функции в консоль.

Sample Input:


Sample Output:


Чтобы решить это задание откройте

Напишите программу. Тестируется через stdin → stdout

Time Limit: 15 секунд
Memory Limit: 256 MB
Запустить код

Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий

Пожалуйста, помогите понять логику заложенную в код программы:
1) строка (1): function daysUntilBirthday(birthday). Предполагается, что birthday это уже созданный ранее объект Date и при вызове функции просто передаётся ссылка на него?
2) строка (3): const currentYear = // replace with code. Судя по названию переменной, мы должны сохранить в неё значение текущего года, полученного методом getFullYear(), который возвращает значение типа number?

3) строка (4): const nextBirthday = new Date(`${currentYear}-${birthday}`). Если предположить, что в п.1 и п.2 ответ "ДА", то я не могу понять, как будет вычисляться значение выражения `${currentYear}-${birthday}`, ведь currentYear это number, а birthday это object.

Изменен Anonymous 96152897

@Anonymous_96152897

  1. В данной строке function daysUntilBirthday(birthday) аргумент birthday предполагается быть строкой, содержащей месяц и день в формате "MM-DD". Функция не ожидает, что birthday будет объектом Date. При вызове функции передаётся просто строка, которая указывает месяц и день рождения.

  2. Верно. В строке const currentYear = today.getFullYear(); переменная currentYear должна сохранять текущий год, получаемый с помощью метода getFullYear() объекта today. Метод getFullYear() возвращает год текущей даты в виде числа.

  3. В строке const nextBirthday = new Date(currentYear{currentYear}-{birthday});, если birthday является строкой в формате "MM-DD", то выражение ${currentYear}-${birthday} превращается в строку даты в формате "YYYY-MM-DD", которую можно использовать для создания объекта Date. Например, если currentYear равно 2023 и birthday равно "05-23", то строка превратится в "2023-05-23", что корректно интерпретируется как дата 23 мая 2023 года. Это создаёт новый объект Date, который представляет следующий день рождения.

@Alex_Erofeev, Спасибо!