Перейти к основному содержимому
Версия: 5.3

Временные операции

now

Описание: Возвращает текущую дату и время в формате Unix Timestamp

В данном примере поле res может принять значение 1710752009

Пример №1
... | eval res=now()

relative_time

Описание: Принимает на вход Unix время и параметр смещения. Возвращает новое время в формате Unix Timestamp

Поддерживаемый формат: (+|-)<int>@(s|m|h|d|w|M)

  • s — секунды
  • m — минуты
  • h — часы
  • d — дни
  • w — недели
  • M — месяцы

По умолчанию: секунды

В примере res примет значение now() минус 1 день

Пример №1
... | eval res=relative_time(now(), -1@d)

В примере res примет значение now() плюс 3600 секунд

Пример №2
... | eval res=relative_time(now(), 3600)

strftime

Описание: Принимает на вход Unix время и формат возвращаемого значения

к сведению

Функция использует формат Joda Time. Подробности в документации

В примере starttime примет значение 2018-3-19T13:55:03

Пример №1
... | eval StartTimestamp=1521467703049000000, starttime=strftime(StartTimestamp/pow(10,9),"Y-M-d'T'H:mm:ss")

Пример с использованием peval

Пример №2
... | peval StartTimestamp=1521467703, starttime=strftime(StartTimestamp, "yyyy-M-d'T'HH:mm:ss") 

strptime

Описание: Принимает на вход дату/время и формат заданного параметра. Возвращает UNIX время

к сведению

Функция использует формат Joda Time. Подробности в документации

В примере starttime примет значение 1589892240

Пример №1
... | eval starttime=strptime("2020-05-19 12:44","Y-M-d HH:mm")
предупреждение

В командах eval и peval используется разный синтаксис шаблона. В peval используется синтаксис шаблона SimpleDateTime, а eval Joda Time. Формат Joda Time в основном совместим с SimpleDateFormat, но есть различия в задании временной зоны. Например, для разбора даты 2000-01-01T12:30:00.000+0100 в команде eval можно применить шаблон YYYY-MM-dd'T'HH:mm:ss.SSZ, а в команде peval используется ISO 8601 yyyy-MM-dd'T'HH:mm:ss.SSSXXX

В примере поле created равно 2020-05-19T12:44:00.123Z. В результате res примет значение 1589892240, а res11589892240.123

Пример №2
... | peval res=strptime(tostring(created), "yyyy-MM-dd'T'HH:mm:ss.SSSX") | eval res1=strptime(created,"YYYY-MM-dd'T'HH:mm:ss.SSS'Z'")

time

Описание: Возвращает текущую дату и время в формате Unix Timestamp.

Пример:

Пример №1
... | eval res=time()

to_timezone

Описание: Принимает на вход Unix-время и название/смещение временной зоны. Возвращает Unix-время, приведенное к указанной временной зоне. Название временной зоны можно не указывать, тогда входное значение Unix-времени приведется к локальной временной зоне.

Обратите внимание!

Названия перечисленных временных зон не поддерживаются, так как их названия устаревшие: MST, Factory, ROC, HST, EST.

Пример №1
... | eval res = to_timezone(1769072333, "Europe/Paris")

В примере поле res примет значение 1769075933, что обусловлено учетом смещения UTC+01:00 для указанной временной зоны.

Пример №2
... | eval res = to_timezone(1769072333, "UTC+02:00")

В примере поле res примет значение 1769079533.

Пример №3
... | eval res = to_timezone(1769072333)

В примере поле res примет значение 1769083133. Это связано с тем, что расчет производится для московской временной зоны.


from_timezone

Описание: Принимает на вход Unix-время и название/смещение временной зоны. Возвращает Unix-время, приведенное из временной зоны к UTC.

Обратите внимание!

Названия перечисленных временных зон не поддерживаются, так как их названия устаревшие: MST, Factory, ROC, HST, EST.

Пример №1
... | eval res = from_timezone(1769072333, "Europe/Paris")

В примере поле res примет значение 1769068733, поскольку указанная временная зона имеет положительное смещение +1 час относительно UTC (UTC+01:00).