date_calc
Эта функция позволяет работать с датами и временем: прибавлять или вычитать секунды, минуты, часы, дни, недели, месяцы и годы. Формат записи следующий:Эта функция позволяет добавлять и вычитать секунд
Формат записи следующий:
[date_calc]Формат даты|модификатор|значение даты[/date_calc]
[date_calc]%d.%m.%Y %H:%M:%S|+1 day[/date_calc]
Аргументы
Функция принимает 3 аргумента (разделяются символом |
):
Формат (обязательный) Указывает, в каком виде будет возвращена дата. Используются плейсхолдеры, предоставленные в таблице ниже. Также можно указать
timestamp
,ts
,unix
илиunixtime
— тогда результатом будет число секунд в формате Unix-времени. Популярные варианты значений:
%d.%m.%Y %H:%M:%S
дд.мм.уууу чч:мм например: 30.01.2028 12:34:56
Стандартная дата в Европейском формате
%Y-%m-%dT%H:%M:%S
гггг-мм-ддTчч:мм:сс например: 2028-01-30T12:34:56
Международный стандарт ISO 8601 Чаще всего используется в API
Модификатор (необязательный) Определяет, какие действия нужно провести с датой. Запись вида:
+1 day
→ прибавить 1 день-2 hours
→ вычесть 2 часа+3 months
→ прибавить 3 месяца
Могут использоваться совместно, например запись: [date_calc]%d.%m.%Y %H:%M:%S|+1 day -1 hour +15 minutes[/date_calc] Добавит 23 часа и 15 минут к текущей дате
Текущее значение (необязательный) От какой даты вести расчёт. По умолчанию — текущая дата и время. Можно передавать:
Unix timestamp — например:
1739с798100
Европейский формат —
17.02.2025
Американский формат —
2025-02-17
Если остались вопросы, всегда можно задать вопрос в техподдержку или в чат поддержки, всегда поможем :)
Формат записи времени
День
%a
Сокращённое название дня недели
Сб
%A
Полное название дня недели
Суббота
%d
Двухзначное представление дня месяца (с ведущими нулями)
29 (От 01
до 31)
%e
День месяца, с ведущим пробелом, если он состоит из одной цифры.
1 (От 1
до 31
)
%j
Порядковый номер в году, 3 цифры с ведущими нулями
029 (От 001
до 366
)
%u
Порядковый номер дня недели согласно стандарту ISO-8601
6 (От 1
(понедельник) до 7
(воскресенье))
%w
Порядковый номер дня недели
6 (От 0
(воскресенье) до 6
(суббота))
Неделя
%U
Порядковый номер недели в указанном году, начиная с первого воскресенья в качестве первой недели
13
(для полной 13-й недели года)
%V
Порядковый номер недели в указанном году в соответствии со стандартом ISO-8601:1988, счёт начинается с той недели, которая содержит минимум 4 дня, неделя начинается с понедельника
От 01
до 53
(где 53 указывает на перекрывающуюся неделю)
%W
Порядковый номер недели в указанном году, начиная с первого понедельника в качестве первой недели
46
(для 46-й недели года, начинающейся с понедельника)
Месяц
%b
Аббревиатура названия месяца, в соответствии с настройками локали
От Янв
до Дек
%B
Полное название месяца, в соответствии с настройками локали
От Января
до Декабря
%h
Аббревиатура названия месяца, в соответствии с настройками локали (псевдоним %b)
От Янв
до Дек
%m
Двухзначный порядковый номер месяца
От 01
(январь) до 12
(декабрь)
Год
%C
Двухзначный порядковый номер столетия (год, делённый на 100, усечённый до целого)
19
для 20-го века
%g
Двухзначный номер года в соответствии со стандартом ISO-8601:1988 (смотрите %V)
Пример: 09
для недели 6 января 2009
%G
Полная четырёхзначная версия %g
Пример: 2009
для недели 3 января 2009
%y
Двухзначный порядковый номер года
Пример: 09
для 2009, 79
для 1979
%Y
Четырёхзначный номер года
Пример: 2038
Время
%H
Двухзначный номер часа в 24-часовом формате
От 00
до 23
%k
Часы в 24-часовом формате, с пробелом перед одиночной цифрой
От 0
до 23
%I
Двухзначный номер часа в 12-часовом формате
От 01
до 12
%l (строчная 'L')
Час в 12-часовом формате, с пробелом перед одиночной цифрой
От 1
до 12
%M
Двухзначный номер минуты
От 00
до 59
%p
'AM' или 'PM' в верхнем регистре, в зависимости от указанного времени
Пример: AM
для 00:31, PM
для 22:23
%P
'am' или 'pm' в зависимости от указанного времени
Пример: am
для 00:31, pm
для 22:23
%r
То же что и "%I:%M:%S %p"
Пример: 09:34:17 PM
для 21:34:17
%R
То же что и "%H:%M"
Пример: 00:35
для 12:35 AM, 16:44
для 4:44 PM
%S
Двухзначный номер секунды
От 00
до 59
%T
То же что и "%H:%M:%S"
Пример: 21:34:17
для 09:34:17 PM
%X
Предпочитаемое отображение времени в зависимости от локали, без даты
Пример: 03:59:16
или 15:59:16
%z
Смещение часового пояса относительно UTC. Не реализовано в Windows, подробности смотрите ниже.
Пример: -0500
для US Eastern Time
%Z
Аббревиатура часового пояса.
Пример: EST
для Eastern Time
Сложение и вычитание времени
Сложение
n = любое число, которое нужно указать, чтобы функция отрабатывала корректно
+n hours
[date_calc]%H|+1 hours[/date_calc]
Прибавление к текущей дате + 1 час
+n day
[date_calc]%d.%m|+1 day[/date_calc]
Прибавление к текущей дате + 1 день
+n week
[date_calc]%d.%m|+1 week[/date_calc]
Прибавление к текущей дате + 1 неделя
+n month
[date_calc]%d.%m|+1 month[/date_calc]
Прибавление к текущей дате + 1 месяц
+n years
[date_calc]%d.%m.%Y|+1 years[/date_calc]
Прибавление к текущей дате + 1 год
Вычитание
-n hours
[date_calc]%H|-1 hours[/date_calc]
Вычитание от текущей даты - 1 час
-n day
[date_calc]%d.%m|-1 day[/date_calc]
Вычитание от текущей даты - 1 день
-n week
[date_calc]%d.%m|-1 week[/date_calc]
Вычитание от текущей даты - 1 неделя
-n month
[date_calc]%d.%m|-1 month[/date_calc]
Вычитание от текущей даты - 1 месяц
-n years
[date_calc]%d.%m.%Y|-1 years[/date_calc]
Вычитание от текущей даты - 1 год
Примеры читабельных выражений
now
Текущий момент (по умолчанию)
yesterday
Вчера
tomorrow
Завтра
first day of this month
Первый день текущего месяца
last day of this month
Последний день текущего месяца
first day of next month
Первый день следующего месяца
last day of next month
Последний день следующего месяца
monday this week
Понедельник текущей недели
sunday next week
Воскресенье следующей недели
Последнее обновление
Это было полезно?