TDG Documentation portal logo
Помощь
Обновлена 22 июня 2026 г. в 15:31

Работа с датами и временем

Доступные модули:

  • datetime - работа с датой и временем;
  • timezone - работа с часовыми поясами;
  • clock - значения времени, полученные из функции Posix / C CLOCK_GETTIME. Для работы доступны все функции модуля, за исключением функции clock.bench().

datetime

Модуль datetime содержит функции для работы с датой и временем. Помимо функций ниже, для работы также доступны функции из встроенного Tarantool-модуля datetime.

now()

Возвращает

текущее время по Гринвичу (GMT) в наносекундах

Тип возвращаемого значения

cdata

sec_to_iso_8601_date(sec)

Преобразует число секунд в строковое представление даты.

Параметры:

  • sec (number) — число секунд

Возвращает

дата в формате ISO 8601 вида yyyy-MM-dd

Тип возвращаемого значения

string

nsec_to_iso_8601_date(nsec)

Преобразует число наносекунд в строковое представление даты.

Параметры:

  • nsec (cdata) — число наносекунд

Возвращает

дата в формате ISO 8601 вида yyyy-MM-dd

Тип возвращаемого значения

string

nsec_to_iso_8601_datetime(nsec)

Преобразует число наносекунд в строковое представление даты и времени.

Параметры:

  • nsec (cdata) — число наносекунд

Возвращает

дата и время в формате ISO 8601 вида yyyy-MM-ddTHH:mm:ss.SSSZ

Тип возвращаемого значения

string

nsec_to_iso_8601_time(nsec)

Преобразует заданную в наносекундах дату и время в строковое представление времени.

Параметры:

  • nsec (cdata) — число наносекунд

Возвращает

время в формате ISO 8601 вида HH:mm:ss.SSS

Тип возвращаемого значения

string

nsec_to_day_of_week(nsec)

Возвращает день недели для заданной в наносекундах даты и времени.

Параметры:

  • nsec (cdata) — число наносекунд

Возвращает

день недели в формате числа от 1 до 7, где 1 - воскресенье, а 7 - суббота

Тип возвращаемого значения

number

iso_8601_datetime_to_nsec(iso_8601_datetime)

Преобразует строковое представление даты и времени в наносекунды.

Параметры:

  • iso_8601_datetime (string) — дата и время в формате ISO 8601. Доступные форматы строки:

    • yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ
    • yyyy-MM-dd'T'HH:mm:ssZZZZZ
    • yyyy-MM-dd'T'HH:mm:ss
    • yyyy-MM-dd'T'HHmmss.SZZZZZ
    • yyyy-MM-dd'T'HHmmssZZZZZ
    • yyyy-MM-dd'T'HHmmss.SSS
    • yyyy-MM-dd'T'HHmmss

Возвращает

число наносекунд

Тип возвращаемого значения

cdata

iso_8601_date_to_nsec(iso_8601_date)

Преобразует строковое представление даты в наносекунды.

Параметры:

  • iso_8601_date (string) — дата в формате ISO 8601 вида yyyy-MM-dd

Возвращает

число наносекунд

Тип возвращаемого значения

cdata

iso_8601_time_to_nsec(iso_8601_time)

Преобразует строковое представление времени в наносекунды.

Параметры:

  • iso_8601_time (string) — время в формате ISO 8601. Доступные форматы: HH:mm:ss.SSS, HH:mm:ss.

Возвращает

число наносекунд

Тип возвращаемого значения

cdata

iso_8601_day_of_week_to_number(iso_8601_day_of_week)

Преобразует строковое представление дня недели в число от 1 до 7, где 1 - воскресенье, а 7 - суббота.

Параметры:

  • iso_8601_day_of_week (string) — день недели в формате ISO 8601 (например, "Sunday", "Sun")

Возвращает

число от 1 до 7

Тип возвращаемого значения

number

custom_datetime_str_to_nsec(date_str, format_str)

Преобразует заданное шаблоном строковое представление даты или даты и времени в наносекунды.

Параметры:

  • date_str (string) — дата или дата и времени

  • format_str (string) — шаблон строки

Возвращает

число наносекунд

Тип возвращаемого значения

cdata

millisec_to_formatted_datetime(datetime_millisec, datetime_format_str)

Преобразует миллисекунды в заданное шаблоном строковое представление даты и времени.

Параметры:

  • datetime_millisec (number) — время в миллисекундах

  • datetime_format_str (string) — шаблон строки даты и времени

Возвращает

дата и время, заданные шаблоном

Тип возвращаемого значения

string

to_sec(nsec)

Преобразует наносекунды в секунды и приводит к типу number.

Параметры:

  • nsec (cdata) — число наносекунд

Возвращает

число секунд

Тип возвращаемого значения

number

to_millisec(nsec)

Преобразует наносекунды в миллисекунды и приводит к типу number.

Параметры:

  • nsec (cdata) — число наносекунд

Возвращает

число миллисекунд

Тип возвращаемого значения

number

seconds_since_midnight()

Возвращает

число секунд с начала суток по Гринвичу (GMT)

Тип возвращаемого значения

number

curr_date_nsec()

Метка времени (Unix timestamp) в наносекундах, соответствующая началу текущих суток UTC. Например, для времени и даты 01.01.2023 15:42 вернется метка, соответствующая 01.01.2023 00:00.

Возвращает

Unix timestamp в наносекундах

Тип возвращаемого значения

cdata

Набор констант, которые используются для работы со временем:

  • NSEC_IN_SEC - число наносекунд в секунде;
  • NSEC_IN_MILLISEC - число наносекунд в миллисекунде;
  • NSEC_IN_DAY - число наносекунд в сутках.

timezone

Модуль timezone содержит функции для работы с часовыми поясами.

now()

Возвращает

текущее время по Гринвичу (GMT) в наносекундах

Тип возвращаемого значения

cdata

seconds_since_midnight(timezone_id)

Параметры:

  • timezone_id (string) — ID часового пояса

Возвращает

число секунд с начала текущих суток для указанного часового пояса

Тип возвращаемого значения

number

curr_date_nsec(timezone_id)

Метка времени (Unix timestamp) в наносекундах, соответствующая началу текущих местных суток для указанного часового пояса.

Параметры:

  • timezone_id (string) — ID часового пояса

Возвращает

Unix timestamp в наносекундах

Тип возвращаемого значения

cdata