^date.roll[year](смещение)
^date.roll[month](смещение)
^date.roll[day](смещение) ^date.roll[TZ][новый часовой пояс] [3.1.1]
С помощью этого метода можно увеличивать/уменьшать значения полей year, month, day объектов класса date.
Также можно узнать дату/время, соответствующие хранящимся в объекте класса date в другом часовой поясе, задав системное имя нового часового пояса. Список имен см. в документации на вашу операционную систему, ключевые слова: «Переменная окружения TZ».
Пример сдвига месяца
$today[^date::now[]]
^today.roll[month](-1)
$today.month
В данном примере мы присваиваем переменной $today значение текущей даты и затем уменьшаем номер текущего месяца на единицу. В результате мы получаем номер предыдущего месяца.