Курс языка программирования Raku / Продвинутый уровень / Подробнее о встроенных типах / Дата и время / Арифметика дат
Тест — Добавление месяцев
Что напечатает следующая программа?
say Date.new(2026, 1, 31).later(:months(1));| 1 | 2026-02-28 |
| 0 | 2026-03-03 |
| 0 | 2026-02-31 |
| 0 | 2026-03-31 |
Один месяц после 31 января привел бы к “31 февраля”, которого не
существует. Метод later ограничивает результат последним
допустимым днем целевого месяца, поэтому результатом становится 28
февраля 2026 года (2026 год не является високосным, поэтому в феврале 28
дней).