Курс языка программирования Raku / Продвинутый уровень / Подробнее о встроенных типах / Дата и время

Арифметика дат

Даты поддерживают арифметические операции, что делает многие повседневные вычисления простыми.

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

say Date.new(2026, 6, 27) + 7; # 2026-07-04

Вычитание одной даты из другой дает количество дней между ними:

say Date.new(2026, 7, 4) - Date.new(2026, 6, 27); # 7

Для более крупных шагов методы later и earlier принимают именованные аргументы, такие как :days, :months или :years:

say Date.new(2026, 6, 27).later(:days(10));    # 2026-07-07
say Date.new(2026, 6, 27).earlier(:months(2)); # 2026-04-27

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

Практика

Пройдите 2 теста по содержанию этой темы.

Навигация по курсу

Дата и время   |   Тест — Арифметика дат


💪 Или перейдите сразу к упражнениям этого раздела.