Функции даты и времени
Функции дат принимают поля «Дата» и «Дата и время» и даты, которые вернули другие функции (today(), date(...)). Если дату нужно написать прямо в формуле, используйте date(2026, 5, 11) или текст в формате "2026-05-11". Русская запись 11.05.2026 внутри формулы не подходит: её можно прочитать неверно.
today() / now()
Заголовок раздела «today() / now()»today()(СЕГОДНЯ): сегодняшняя дата.now()(ТДАТА): сегодня и текущее время.
today() // "2026-05-11"date_diff([Дата покупки], today(), 'days') // дней с покупкиdate(year, month, day)
Заголовок раздела «date(year, month, day)»Собирает дату из года, месяца и дня. Январь равен 1. По-русски ДАТА.
date(2026, 1, 1) // "2026-01-01"date(year_of(today()), 12, 31) // последний день текущего годаdate_diff(a, b, unit)
Заголовок раздела «date_diff(a, b, unit)»Разница b − a в указанной единице.
'days': целое число дней.'months': целое число месяцев (по календарю).'years': целое число лет.
date_diff([Дата покупки], today(), 'days')date_diff([Дата покупки], today(), 'months')date_diff([Дата рождения], today(), 'years') // возрастРезультат может быть отрицательным, если a позже b.
add_days(d, n), add_months(d, n), add_years(d, n)
Заголовок раздела «add_days(d, n), add_months(d, n), add_years(d, n)»Сдвиг даты на N единиц.
add_days(today(), 30) // через 30 днейadd_months([Дата покупки], 12) // ровно через годadd_years([Дата рождения], 18) // дата совершеннолетияdate_part(d, unit)
Заголовок раздела «date_part(d, unit)»Извлечь компонент даты как число.
'year': год (4 цифры).'month': месяц (1–12).'day': день месяца (1–31).'dayofweek': день недели по ISO: 1 = понедельник, 7 = воскресенье.'hour','minute': для дат с временем.
date_part([Дата платежа], 'month') // → 5date_part([Дата платежа], 'dayofweek') // → 6 (суббота)Шорткаты: year_of, month_of, day_of
Заголовок раздела «Шорткаты: year_of, month_of, day_of»Сокращения для самых частых вызовов date_part:
year_of([Дата платежа]) // = date_part([Дата платежа], 'year'), по-русски ГОДmonth_of([Дата платежа]) // по-русски МЕСЯЦday_of([Дата платежа]) // по-русски ДЕНЬmonth_start(d), year_start(d)
Заголовок раздела «month_start(d), year_start(d)»Первое число месяца / года, в котором лежит дата.
month_start(today()) // "2026-05-01"year_start(today()) // "2026-01-01"Удобно для группировок по месяцу.
is_weekend(d)
Заголовок раздела «is_weekend(d)»true для субботы/воскресенья.
is_weekend([Дата платежа])if(is_weekend([Дата платежа]), "Выходной", "Будний день")Граничные случаи
Заголовок раздела «Граничные случаи»- Невалидная дата на входе → результат
null. - Пустое значение →
null. - Сравнение дат знаками
<и>не работает: эти знаки сравнивают только числа. Сравнивайте черезdate_diff. Например,date_diff([Срок], today(), 'days') > 0означает, что срок прошёл.
Частые ошибки
Заголовок раздела «Частые ошибки»- Пишут дату текстом в произвольном формате. Внутри формулы используйте
date(год, месяц, день)или"ГГГГ-ММ-ДД". Слова «вчера», «завтра» не работают. - Сравнивают дату с числом. Не сработает, приводите через
date_diff. - Ожидают, что
month_of(today()) == 5сработает для строкового «май». Эта функция возвращает число 5, а не строку.