Spec-Zone.ru › Python 3.13

API C PyTime

Добавлена в версии 3.13.

API C для часов предоставляет доступ к системным часам. Он аналогичен модулю Python time.

Для API C, связанного с модулем datetime, см. Объекты DateTime.

Типы

type PyTime_t

Отметка времени или продолжительность в наносекундах, представленная как целое 64-битное со знаком.

Точка отсчета для отметки времени зависит от используемых часов. Например, PyTime_Time() возвращает отметки времени, относительные к эпохе Unix.

Поддерживаемый диапазон составляет примерно [-292,3 года; +292,3 года]. Используя эпоху Unix (1 января 1970 года) в качестве точки отсчета, поддерживаемый диапазон дат составляет примерно [21 сентября 1677 года; 11 апреля 2262 года]. Точные пределы представлены в виде констант:

PyTime_t PyTime_MIN

Минимальное значение PyTime_t.

PyTime_t PyTime_MAX

Максимальное значение PyTime_t.

Функции часов

Следующие функции принимают указатель на PyTime_t, который они устанавливают в значение определенных часов. Сведения о каждом часах указаны в документации соответствующей функции Python.

Функции возвращают 0 при успехе или -1 (с установленным исключением) при ошибке.

При переполнении целого числа они устанавливают исключение PyExc_OverflowError и устанавливают *result в значение, ограниченное диапазоном [PyTime_MIN; PyTime_MAX]. (На текущих системах переполнение целых чисел, скорее всего, вызвано неправильно настроенным системным временем.)

Как и любой другой API C (если не указано иное), функции должны вызываться с захваченным GIL.

int PyTime_Monotonic(PyTime_t *result)

Чтение монотонных часов. См. time.monotonic() для важных деталей об этих часах.

int PyTime_PerfCounter(PyTime_t *result)

Чтение счетчика производительности. См. time.perf_counter() для важных деталей об этих часах.

int PyTime_Time(PyTime_t *result)

Чтение времени «настенных часов». См. time.time() для важных деталей об этих часах.

Функции необработанных часов

Аналогично функциям часов, но не устанавливают исключения при ошибке и не требуют от вызывающей стороны удержания GIL.

При успехе функции возвращают 0.

При ошибке они устанавливают *result в 0 и возвращают -1, без установки исключения. Чтобы получить причину ошибки, захватите GIL и вызовите обычную (не-Raw) функцию. Обратите внимание, что обычная функция может преуспеть после того, как Raw функция завершилась неудачей.

int PyTime_MonotonicRaw(PyTime_t *result)

Аналогично PyTime_Monotonic(), но не устанавливает исключение при ошибке и не требует удержания GIL.

int PyTime_PerfCounterRaw(PyTime_t *result)

Аналогично PyTime_PerfCounter(), но не устанавливает исключение при ошибке и не требует удержания GIL.

int PyTime_TimeRaw(PyTime_t *result)

Аналогично PyTime_Time(), но не устанавливает исключение при ошибке и не требует удержания GIL.

Функции преобразования

double PyTime_AsSecondsDouble(PyTime_t t)

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

Функция не может завершиться неудачей, но имейте в виду, что double имеет ограниченную точность для больших значений.

© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/c-api/time.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API