Работа с датами и временем¶
Доступные модули:
datetime – работа с датой и временем;
timezone – работа с часовыми поясами;
clock – значения времени, полученные из функции Posix / C CLOCK_GETTIME. Для работы доступны все функции модуля, за исключением функции
clock.bench()
.
datetime¶
Модуль datetime
содержит функции для работы с датой и временем.
Помимо функций ниже, для работы также доступны функции из встроенного Tarantool-модуля
datetime.
- datetime.now()¶
- Результат
текущее время по Гринвичу (GMT) в наносекундах
- Тип результата
cdata
- datetime.sec_to_iso_8601_date(sec)¶
Преобразует число секунд в строковое представление даты.
- Параметры
sec (number) – число секунд
- Результат
дата в формате ISO 8601 вида
yyyy-MM-dd
- Тип результата
string
- datetime.nsec_to_iso_8601_date(nsec)¶
Преобразует число наносекунд в строковое представление даты.
- Параметры
nsec (cdata) – число наносекунд
- Результат
дата в формате ISO 8601 вида
yyyy-MM-dd
- Тип результата
string
- datetime.nsec_to_iso_8601_datetime(nsec)¶
Преобразует число наносекунд в строковое представление даты и времени.
- Параметры
nsec (cdata) – число наносекунд
- Результат
дата и время в формате ISO 8601 вида
yyyy-MM-ddTHH:mm:ss.SSSZ
- Тип результата
string
- datetime.nsec_to_iso_8601_time(nsec)¶
Преобразует заданную в наносекундах дату и время в строковое представление времени.
- Параметры
nsec (cdata) – число наносекунд
- Результат
время в формате ISO 8601 вида
HH:mm:ss.SSS
- Тип результата
string
- datetime.nsec_to_day_of_week(nsec)¶
Возвращает день недели для заданной в наносекундах даты и времени.
- Параметры
nsec (cdata) – число наносекунд
- Результат
день недели в формате числа от 1 до 7, где
1
– воскресенье, а7
– суббота- Тип результата
number
- datetime.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
- datetime.iso_8601_date_to_nsec(iso_8601_date)¶
Преобразует строковое представление даты в наносекунды.
- Параметры
iso_8601_date (string) – дата в формате ISO 8601 вида
yyyy-MM-dd
- Результат
число наносекунд
- Тип результата
cdata
- datetime.iso_8601_time_to_nsec(iso_8601_time)¶
Преобразует строковое представление времени в наносекунды.
- Параметры
iso_8601_time (string) – время в формате ISO 8601. Доступные форматы:
HH:mm:ss.SSS
,HH:mm:ss
.- Результат
число наносекунд
- Тип результата
cdata
- datetime.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
- datetime.custom_datetime_str_to_nsec(date_str, format_str)¶
Преобразует заданное шаблоном строковое представление даты или даты и времени в наносекунды.
- Параметры
date_str (string) – дата или дата и времени
format_str (string) – шаблон строки
- Результат
число наносекунд
- Тип результата
cdata
- datetime.millisec_to_formatted_datetime(datetime_millisec, datetime_format_str)¶
Преобразует миллисекунды в заданное шаблоном строковое представление даты и времени.
- Параметры
datetime_millisec (number) – время в миллисекундах
datetime_format_str (string) – шаблон строки даты и времени
- Результат
дата и время, заданные шаблоном
- Тип результата
string
- datetime.to_sec(nsec)¶
Преобразует наносекунды в секунды и приводит к типу number.
- Параметры
nsec (cdata) – число наносекунд
- Результат
число секунд
- Тип результата
number
- datetime.to_millisec(nsec)¶
Преобразует наносекунды в миллисекунды и приводит к типу number.
- Параметры
nsec (cdata) – число наносекунд
- Результат
число миллисекунд
- Тип результата
number
- datetime.seconds_since_midnight()¶
- Результат
число секунд с начала суток по Гринвичу (GMT)
- Тип результата
number
- datetime.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
содержит функции для работы с часовыми поясами.
- timezone.now()¶
- Результат
текущее время по Гринвичу (GMT) в наносекундах
- Тип результата
cdata
- timezone.seconds_since_midnight(timezone_id)¶
- Параметры
timezone_id (string) – ID часового пояса
- Результат
число секунд с начала текущих суток для указанного часового пояса
- Тип результата
number
- timezone.curr_date_nsec(timezone_id)¶
Метка времени (Unix timestamp) в наносекундах, соответствующая началу текущих местных суток для указанного часового пояса.
- Параметры
timezone_id (string) – ID часового пояса
- Результат
Unix timestamp в наносекундах
- Тип результата
cdata