Курс по 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 теста върху съдържанието на тази тема.

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

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


💪 Или преминете направо към упражненията в този раздел.