time
— Временной доступ и конверсии¶
Этот модуль предоставляет различные функции, связанные со временем. Для получения дополнительной информации смотрите также модули datetime
и calendar
.
Хотя этот модуль доступен всегда, не все функции доступны на всех платформах. Большинство функций, определенных в этом модуле, вызывают библиотечные функции платформы C с одинаковыми именами. Иногда может быть полезно ознакомиться с документацией по платформе, поскольку семантика этих функций различается в зависимости от платформы.
Необходимо пояснить некоторые термины и условные обозначения.
epoch - это точка отсчета времени, возвращаемое значение
time.gmtime(0)
. Сейчас январь 1, 1970, 00:00:00 ( UTC) на всех платформах.
Термин seconds since the epoch относится к общему количеству секунд, прошедших с момента перехода, обычно за исключением leap seconds. На всех POSIX-совместимых платформах из этого общего количества исключаются високосные секунды.
Функции в этом модуле могут не обрабатывать даты и время до наступления эпохи или в отдаленном будущем. Конечная точка в будущем определяется библиотекой C; для 32-разрядных систем обычно это 2038 год.
Функция
strptime()
может анализировать двузначные годы, если задан код формата%y
. При анализе двузначных годов они преобразуются в соответствии со стандартами POSIX и ISO C: значения 69-99 сопоставляются с 1969-1999 годами, а значения 0-68 сопоставляются с 2000-2068 годами.
UTC - это всемирное координированное время (ранее известное как среднее время по Гринвичу, или GMT). Аббревиатура UTC - это не ошибка, а компромисс между английским и французским языками.
Летнее время - это переход на летнее время, при котором часовой пояс меняется (обычно) на один час в течение года. Правила перехода на летнее время являются волшебными (определяются местным законодательством) и могут меняться из года в год. Библиотека C содержит таблицу, содержащую локальные правила (часто она считывается из системного файла для обеспечения гибкости), и является единственным источником истинной мудрости в этом отношении.
Точность различных функций реального времени может быть меньше, чем указано в единицах измерения, в которых выражено их значение или аргумент. Например, в большинстве систем Unix часы «тикают» всего 50 или 100 раз в секунду.
С другой стороны, точность
time()
иsleep()
выше, чем у их эквивалентов в Unix: время выражается числами с плавающей запятой,time()
возвращает наиболее точное из доступных значений времени (используя Unixgettimeofday()
там, где это возможно), иsleep()
будет принимать время с ненулевой дробью (для реализации этого, где это возможно, используется Unixselect()
).Значение времени, возвращаемое параметрами
gmtime()
,localtime()
, иstrptime()
и принимаемое параметрамиasctime()
,mktime()
иstrftime()
, представляет собой последовательность из 9 целых чисел. Возвращаемые значенияgmtime()
,localtime()
, иstrptime()
также содержат имена атрибутов для отдельных полей.Описание этих объектов приведено в разделе
struct_time
.Изменено в версии 3.3: Тип
struct_time
был расширен для предоставления атрибутовtm_gmtoff
иtm_zone
, когда платформа поддерживает соответствующие элементыstruct tm
.Изменено в версии 3.6: Атрибуты
struct_time
tm_gmtoff
иtm_zone
теперь доступны на всех платформах.Используйте следующие функции для преобразования между представлениями времени:
От
К
Воспользуйся
секунды, прошедшие с начала эпохи
struct_time
в UTCсекунды, прошедшие с начала эпохи
struct_time
по местному времениstruct_time
в UTCсекунды, прошедшие с начала эпохи
struct_time
по местному временисекунды, прошедшие с начала эпохи
Функции¶
- time.asctime([t])¶
Преобразуйте кортеж или
struct_time
, представляющий время, возвращаемоеgmtime()
илиlocaltime()
, в строку следующего вида:'Sun Jun 20 23:21:05 1993'
. Поле «День» состоит из двух символов и заполняется пробелом, если день состоит из одной цифры, например:'Wed Jun 9 04:26:40 1993'
.Если значение t не указано, используется текущее время, возвращаемое
localtime()
. Информация о языковом стандарте не используетсяasctime()
.Примечание
В отличие от одноименной функции языка Си,
asctime()
не добавляет завершающую новую строку.
- time.pthread_getcpuclockid(thread_id)¶
Возвращает clk_id тактового времени процессора, зависящего от потока, для указанного thread_id.
Используйте
threading.get_ident()
или атрибутident
объектовthreading.Thread
, чтобы получить подходящее значение для thread_id.Предупреждение
Передача недопустимого или просроченного thread_id может привести к неопределенному поведению, такому как ошибка сегментации.
Availability: Unix
Дополнительную информацию смотрите на странице руководства по pthread_getcpuclockid(3).
Добавлено в версии 3.7.
- time.clock_getres(clk_id)¶
Возвращает разрешение (точность) указанного тактового сигнала clk_id. Список допустимых значений для clk_id приведен в Константы идентификатора часов.
Availability: Unix.
Добавлено в версии 3.3.
- time.clock_gettime(clk_id) float ¶
Возвращает время по указанным часам clk_id. Список допустимых значений для clk_id приведен в Константы идентификатора часов.
Используйте
clock_gettime_ns()
, чтобы избежать потери точности, вызванной типомfloat
.Availability: Unix.
Добавлено в версии 3.3.
- time.clock_gettime_ns(clk_id) int ¶
Аналогично
clock_gettime()
, но возвращает время в наносекундах.Availability: Unix.
Добавлено в версии 3.7.
- time.clock_settime(clk_id, time: float)¶
Установите время на указанных часах clk_id. В настоящее время
CLOCK_REALTIME
является единственным допустимым значением для clk_id.Используйте
clock_settime_ns()
, чтобы избежать потери точности, вызванной типомfloat
.Availability: Unix.
Добавлено в версии 3.3.
- time.clock_settime_ns(clk_id, time: int)¶
Аналогично
clock_settime()
, но задайте время в наносекундах.Availability: Unix.
Добавлено в версии 3.7.
- time.ctime([secs])¶
Преобразуйте время, выраженное в секундах с начала эпохи, в строку вида:
'Sun Jun 20 23:21:05 1993'
, представляющую местное время. Поле «День» состоит из двух символов и заполняется пробелом, если день состоит из одной цифры, например:'Wed Jun 9 04:26:40 1993'
.Если значение секунды не указано или
None
, используется текущее время, возвращаемое параметромtime()
.ctime(secs)
эквивалентноasctime(localtime(secs))
. Информация о языковом стандарте не используетсяctime()
.
- time.get_clock_info(name)¶
Получить информацию об указанных часах в виде объекта пространства имен. Поддерживаемые имена часов и соответствующие функции для считывания их значений следующие:
'monotonic'
:time.monotonic()
'perf_counter'
:time.perf_counter()
'process_time'
:time.process_time()
'thread_time'
:time.thread_time()
'time'
:time.time()
Результат имеет следующие атрибуты:
настраиваемый:
True
если часы могут быть изменены автоматически (например, демоном NTP) или вручную системным администратором,False
в противном случаереализация: имя базовой функции C, используемой для получения тактового значения. Возможные значения приведены в Константы идентификатора часов.
монотонный:
True
если часы не могут идти назад,False
в противном случаеразрешение: Разрешение часов в секундах (
float
)
Добавлено в версии 3.3.
- time.gmtime([secs])¶
Преобразуйте время, выраженное в секундах с момента начала эпохи, в
struct_time
в UTC, в котором флаг перехода на летнее время всегда равен нулю. Если значение secs не указано илиNone
, используется текущее время, возвращаемое параметромtime()
. Доли секунды игнорируются. Описание объектаstruct_time
смотрите выше. Обратное значение этой функции приведено в разделеcalendar.timegm()
.
- time.localtime([secs])¶
Аналогично
gmtime()
, но преобразуется в местное время. Если значение секунды не указано илиNone
, используется текущее время, возвращаемоеtime()
. Флаг перехода на летнее время устанавливается на1
, когда переход на летнее время применяется к данному времени.localtime()
может вызватьOverflowError
, если временная метка выходит за пределы диапазона значений, поддерживаемых функциями платформы Clocaltime()
илиgmtime()
, иOSError
вкл.localtime()
илиgmtime()
сбой. Обычно это ограничивается периодом с 1970 по 2038 год.
- time.mktime(t)¶
Это обратная функция от
localtime()
. Его аргументом являетсяstruct_time
или полный 9-й кортеж (поскольку необходим флаг перехода на летнее время; используйте-1
в качестве флага перехода на летнее время, если он неизвестен), который выражает время по местному времени, а не по UTC. Он возвращает число с плавающей запятой для совместимости сtime()
. Если входное значение не может быть представлено как допустимое время, будет выведено значениеOverflowError
илиValueError
(что зависит от того, будет ли недопустимое значение перехвачено Python или базовыми библиотеками C). Самая ранняя дата, для которой он может сгенерировать время, зависит от платформы.
- time.monotonic() float ¶
Возвращает значение (в долях секунды) монотонных часов, т.е. часов, которые не могут идти в обратном направлении. Обновления системных часов не влияют на часы. Точка отсчета возвращаемого значения не определена, поэтому допустима только разница между результатами двух вызовов.
Используйте
monotonic_ns()
, чтобы избежать потери точности, вызванной типомfloat
.Добавлено в версии 3.3.
Изменено в версии 3.5: Эта функция не всегда доступна и не всегда является общесистемной.
Изменено в версии 3.10: В Mac OS эта функция теперь стала общесистемной.
- time.monotonic_ns() int ¶
Аналогично
monotonic()
, но возвращает время в наносекундах.Добавлено в версии 3.7.
- time.perf_counter() float ¶
Возвращает значение (в долях секунды) счетчика производительности, т.е. часы с максимально возможным разрешением для измерения короткого промежутка времени. Он включает время, прошедшее во время ожидания, и является общесистемным. Исходная точка возвращаемого значения не определена, так что допустима только разница между результатами двух вызовов.
Используйте
perf_counter_ns()
, чтобы избежать потери точности, вызванной типомfloat
.Добавлено в версии 3.3.
Изменено в версии 3.10: В Windows эта функция теперь стала общесистемной.
- time.perf_counter_ns() int ¶
Аналогично
perf_counter()
, но возвращает время в наносекундах.Добавлено в версии 3.7.
- time.process_time() float ¶
Возвращает значение (в долях секунды) суммы системного и пользовательского процессорного времени текущего процесса. Оно не включает время, прошедшее во время ожидания. По определению, оно распространяется на весь процесс. Исходная точка возвращаемого значения не определена, так что допустима только разница между результатами двух вызовов.
Используйте
process_time_ns()
, чтобы избежать потери точности, вызванной типомfloat
.Добавлено в версии 3.3.
- time.process_time_ns() int ¶
Аналогично
process_time()
, но возвращает время в наносекундах.Добавлено в версии 3.7.
- time.sleep(secs)¶
Приостановите выполнение вызывающего потока на заданное количество секунд. Аргументом может быть число с плавающей запятой, чтобы указать более точный таймер ожидания.
Если спящий режим прерывается сигналом и обработчик сигнала не генерирует никаких исключений, спящий режим перезапускается с пересчитанным таймаутом.
Время приостановки может быть на произвольную величину больше запрошенного из-за планирования других действий в системе.
В Windows, если значение secs равно нулю, поток передает оставшуюся часть своего временного интервала любому другому потоку, готовому к запуску. Если других потоков, готовых к запуску, нет, функция немедленно возвращается, и поток продолжает выполнение. В Windows 8.1 и более поздних версиях используется high-resolution timer, который обеспечивает разрешение в 100 наносекунд. Если значение secs равно нулю, используется
Sleep(0)
.Реализация в Unix:
Используйте
clock_nanosleep()
, если доступно (разрешение: 1 наносекунда);Или используйте
nanosleep()
, если доступно (разрешение: 1 наносекунда);Или используйте
select()
(разрешение: 1 микросекунда).
Изменено в версии 3.5: Функция теперь находится в спящем режиме не менее секунд, даже если спящий режим прерывается сигналом, за исключением случаев, когда обработчик сигнала вызывает исключение (объяснение смотрите в PEP 475).
Изменено в версии 3.11: В Unix теперь используются функции
clock_nanosleep()
иnanosleep()
, если они доступны. В Windows теперь используется таймер ожидания.
- time.strftime(format[, t])¶
Преобразуйте кортеж или
struct_time
, представляющий время, возвращаемоеgmtime()
илиlocaltime()
, в строку, указанную в аргументе format. Если значение t не указано, используется текущее время, возвращаемое параметромlocaltime()
. формат должен быть строковым.ValueError
вызывается, если какое-либо поле в t выходит за пределы допустимого диапазона.0 - это допустимый аргумент для любой позиции в timetuple; если обычно это недопустимо, то значение принудительно устанавливается на правильное.
В строку format могут быть встроены следующие директивы. Они отображаются без необязательного указания ширины поля и точности и заменяются указанными символами в результате
strftime()
:Директива
Значение
Записи
%a
Сокращенное название дня недели в регионе.
%A
Полное название дня недели в регионе.
%b
Сокращенное название месяца в регионе.
%B
Полное название месяца в регионе.
%c
Соответствующее языковому стандарту представление даты и времени.
%d
День месяца в виде десятичного числа [01,31].
%f
- Микросекунды в виде десятичного числа
[000000,999999].
(1)
%H
Час (24-часовые часы) в виде десятичного числа [00,23].
%I
Час (12-часовые часы) в виде десятичного числа [01,12].
%j
День года в виде десятичного числа [001,366].
%m
Месяц в виде десятичного числа [01,12].
%M
Минута в виде десятичного числа [00,59].
%p
Языковой эквивалент AM или PM.
(2)
%S
Секунда в виде десятичного числа [00,61].
(3)
%U
Номер недели в году (воскресенье - первый день недели) в виде десятичного числа [00,53]. Все дни в новом году, предшествующие первому воскресенью, считаются днями недели 0.
(4)
%w
День недели в виде десятичного числа [0 (воскресенье),6].
%W
Номер недели в году (понедельник - первый день недели) в виде десятичного числа [00,53]. Все дни в новом году, предшествующие первому понедельнику, считаются днями недели 0.
(4)
%x
Соответствующее языковому стандарту представление даты.
%X
Соответствующее времени представление в локали.
%y
Год без столетия в виде десятичного числа [00,99].
%Y
Год с веком в качестве десятичного числа.
%z
Смещение часового пояса, указывающее на положительную или отрицательную разницу во времени с UTCGMT в виде +HHMM или -HHMM, где H представляет собой десятичные цифры часов, а M - десятичные цифры минут [-23:59, +23:59]. [1]
%Z
Название часового пояса (без символов, если часовой пояс не существует). Осуждаемый. [1]
%%
Буквальный символ
'%'
.Записи:
Директива формата
%f
применяется только кstrptime()
, но не кstrftime()
. Однако смотрите такжеdatetime.datetime.strptime()
иdatetime.datetime.strftime()
, где директива форматирования%f
applies to microseconds.При использовании с функцией
strptime()
директива%p
влияет на выходное поле hour только в том случае, если для анализа времени используется директива%I
.
Диапазон действительно от
0
до61
; значение60
допустимо для временных меток, представляющих leap seconds, а значение61
поддерживается по историческим причинам.При использовании с функцией
strptime()
значения%U
и%W
используются в расчетах только при указании дня недели и года.
Вот пример формата дат, совместимого с форматом, указанным в стандарте электронной почты в Интернете RFC 2822. [1]
>>> from time import gmtime, strftime >>> strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()) 'Thu, 28 Jun 2001 14:17:15 +0000'
На некоторых платформах могут поддерживаться дополнительные директивы, но только перечисленные здесь имеют значение, стандартизованное ANSI C. Чтобы ознакомиться с полным набором кодов формата, поддерживаемых на вашей платформе, обратитесь к документации strftime(3).
На некоторых платформах необязательные параметры ширины и точности поля могут сразу следовать за начальным
'%'
в директиве в следующем порядке; это также не является переносимым. Ширина поля обычно равна 2, за исключением%j
, где она равна 3.
- time.strptime(string[, format])¶
Проанализируйте строку, представляющую время в соответствии с форматом. Возвращаемое значение равно
struct_time
, которое возвращается с помощьюgmtime()
илиlocaltime()
.В параметре format используются те же директивы, что и в параметре
strftime()
; по умолчанию используется значение"%a %b %d %H:%M:%S %Y"
, которое соответствует форматированию, возвращаемомуctime()
. Если строка не может быть проанализирована в соответствии с форматом или если после синтаксического анализа в ней содержатся избыточные данные, выводится значениеValueError
. Значения по умолчанию, используемые для заполнения любых недостающих данных, когда невозможно получить более точные значения, являются(1900, 1, 1, 0, 0, 0, 0, 1, -1)
. И string, и format должны быть строками.Например:
>>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)
Поддержка директивы
%Z
основана на значениях, содержащихся вtzname
, и на том, является лиdaylight
истинным. Из-за этого он зависит от конкретной платформы, за исключением распознавания UTC и GMT, которые всегда известны (и считаются часовыми поясами, не относящимися к переходу на летнее время).Поддерживаются только директивы, указанные в документации. Поскольку
strftime()
реализован для каждой платформы, иногда он может содержать больше директив, чем указано в списке. Ноstrptime()
не зависит от какой-либо платформы и, следовательно, не обязательно поддерживает все доступные директивы, которые не задокументированы как поддерживаемые.
- class time.struct_time¶
Тип последовательности значений времени, возвращаемой с помощью
gmtime()
,localtime()
, иstrptime()
. Это объект с интерфейсом named tuple: к значениям можно получить доступ по индексу и по имени атрибута. Присутствуют следующие значения:Индекс
Атрибут
Ценности
0
- tm_year¶
(например, 1993 год)
1
- tm_mon¶
диапазон [1, 12]
2
- tm_day¶
диапазон [1, 31]
3
- tm_hour¶
диапазон [0, 23]
4
- tm_min¶
диапазон [0, 59]
5
- tm_sec¶
диапазон [0, 61]; смотрите Note (2) в
strftime()
6
- tm_wday¶
диапазон [0, 6]; Понедельник равен 0
7
- tm_yday¶
диапазон [1, 366]
8
- tm_isdst¶
0, 1 или -1; смотрите ниже
na
- tm_zone¶
сокращение названия часового пояса
na
- tm_gmtoff¶
смещение на восток от UTC в секундах
Обратите внимание, что в отличие от структуры C, значение месяца находится в диапазоне [1, 12], а не [0, 11].
При вызовах на
mktime()
,tm_isdst
может быть установлено значение 1, когда действует летнее время, и 0, когда его нет. Значение -1 указывает на то, что это неизвестно, и обычно приводит к заполнению правильного состояния.Когда кортеж с неправильной длиной передается в функцию, ожидающую
struct_time
или содержащую элементы неправильного типа, генерируетсяTypeError
.
- time.time() float ¶
Возвращает время в секундах с начала эпохи в виде числа с плавающей запятой. Обработка leap seconds зависит от платформы. В Windows и большинстве Unix-систем високосные секунды не учитываются при подсчете времени в секундах с начала эпохи_. Обычно это называется Unix time.
Обратите внимание, что, хотя время всегда возвращается в виде числа с плавающей запятой, не все системы показывают время с точностью более 1 секунды. Хотя эта функция обычно возвращает неубывающие значения, она может вернуть меньшее значение, чем при предыдущем вызове, если системные часы были переведены назад между двумя вызовами.
Число, возвращаемое функцией
time()
, может быть преобразовано в более распространенный формат времени (например, год, месяц, день, час и т.д.) в UTC, передав его функцииgmtime()
, или в местное время, передав его функцииlocaltime()
функция. В обоих случаях возвращается объектstruct_time
, из которого можно получить доступ к компонентам календарной даты в качестве атрибутов.Используйте
time_ns()
, чтобы избежать потери точности, вызванной типомfloat
.
- time.time_ns() int ¶
Аналогично
time()
, но возвращает время в виде целого числа наносекунд, прошедших с начала эпохи.Добавлено в версии 3.7.
- time.thread_time() float ¶
Возвращает значение (в долях секунды) суммы системного и пользовательского процессорного времени текущего потока. Оно не включает время, прошедшее во время ожидания. По определению оно зависит от потока. Исходная точка возвращаемого значения не определена, так что допустима только разница между результатами двух вызовов в одном потоке.
Используйте
thread_time_ns()
, чтобы избежать потери точности, вызванной типомfloat
.Availability: Linux, Unix, Windows.
Системы Unix, поддерживающие
CLOCK_THREAD_CPUTIME_ID
.Добавлено в версии 3.7.
- time.thread_time_ns() int ¶
Аналогично
thread_time()
, но возвращает время в наносекундах.Добавлено в версии 3.7.
- time.tzset()¶
Сбросьте правила преобразования времени, используемые библиотечными процедурами. Переменная окружения
TZ
указывает, как это делается. Он также установит переменныеtzname
(из переменной окруженияTZ
),timezone
(в секундах западнее UTC, отличных от летнего времени),altzone
( В секундах западнее UTC, отличающихся от летнего времени) иdaylight
(значение равно 0, если в этом часовом поясе нет правил перехода на летнее время, или отличное от нуля, если есть время, прошедшее, настоящее или будущее, когда применяется переход на летнее время).Availability: Unix.
Примечание
Хотя во многих случаях изменение переменной окружения
TZ
может повлиять на выходные данные таких функций, какlocaltime()
, без вызоваtzset()
, полагаться на это поведение не следует.Переменная окружения
TZ
не должна содержать пробелов.Стандартный формат переменной окружения
TZ
таков (для наглядности добавлен пробел).:std offset [dst [offset [,start[/time], end[/time]]]]
Где находятся компоненты:
std
иdst
Три или более буквенно-цифровых символа, обозначающих сокращения часовых поясов. Они будут преобразованы в time.tzname.
offset
Смещение имеет вид:
± hh[:mm[:ss]]
. Это означает, что к местному времени добавляется значение UTC. Если перед ним стоит «-», часовой пояс находится к востоку от Нулевого меридиана, в противном случае - к западу. Если за переходом на летнее время не следует смещение, предполагается, что летнее время опережает стандартное на один час.start[/time], end[/time]
Указывает, когда следует переходить на летнее время и обратно. Даты начала и окончания могут быть представлены в одном из следующих форматов:
Jn
Юлианский день n (1 <= n <= 365). Високосные дни не учитываются, поэтому во все годы 28 февраля - 59-й день, а 1 марта - 60-й день.
n
Юлианский день, основанный на нуле (0 <= n <= 365). Учитываются високосные дни, и можно указать 29 февраля.
Mm.n.d
d-й день (0 <= d <= 6) недели n месяца m года (1 <= n <= 5, 1 <= m <= 12, где 5-я неделя означает «последняя d день в месяце m», который может наступить либо на четвертой, либо на пятой неделе). Неделя 1 - это первая неделя, в течение которой выпадает этот день. Нулевой день - воскресенье.
time
имеет тот же формат, что иoffset
, за исключением того, что начальный знак («-» или «+») не допускается. Если время не указано, по умолчанию используется 02:00:00.
>>> os.environ['TZ'] = 'EST+05EDT,M4.1.0,M10.5.0' >>> time.tzset() >>> time.strftime('%X %x %Z') '02:07:36 05/08/03 EDT' >>> os.environ['TZ'] = 'AEST-10AEDT-11,M10.5.0,M3.5.0' >>> time.tzset() >>> time.strftime('%X %x %Z') '16:08:12 05/08/03 AEST'
Во многих системах Unix (включая *BSD, Linux, Solaris и Darwin) для определения правил часового пояса удобнее использовать системную базу данных zoneinfo (tzfile(5)). Для этого задайте переменной окружения
TZ
путь к требуемому файлу данных о часовых поясах относительно корневого каталога базы данных часовых поясов zoneinfo, обычно расположенного по адресу/usr/share/zoneinfo
. Например,'US/Eastern'
,'Australia/Melbourne'
,'Egypt'
или'Europe/Amsterdam'
.>>> os.environ['TZ'] = 'US/Eastern' >>> time.tzset() >>> time.tzname ('EST', 'EDT') >>> os.environ['TZ'] = 'Egypt' >>> time.tzset() >>> time.tzname ('EET', 'EEST')
Константы идентификатора часов¶
Эти константы используются в качестве параметров для clock_getres()
и clock_gettime()
.
- time.CLOCK_BOOTTIME¶
Идентично
CLOCK_MONOTONIC
, за исключением того, что оно также включает любое время приостановки работы системы.Это позволяет приложениям получать монотонные часы с функцией приостановки, не сталкиваясь с усложнениями, связанными с
CLOCK_REALTIME
, которые могут иметь разрывы, если время изменяется с помощьюsettimeofday()
или аналогичного параметра.Availability: Linux >= 2.6.39.
Добавлено в версии 3.7.
- time.CLOCK_HIGHRES¶
Операционная система Solaris имеет таймер
CLOCK_HIGHRES
, который пытается использовать оптимальный аппаратный источник и может выдавать разрешение, близкое к наносекундному.CLOCK_HIGHRES
- это нерегулируемые часы с высоким разрешением.Availability: Солярис.
Добавлено в версии 3.3.
- time.CLOCK_MONOTONIC¶
Часы, которые невозможно установить и которые представляют собой монотонное время с некоторой неопределенной начальной точки.
Availability: Unix.
Добавлено в версии 3.3.
- time.CLOCK_MONOTONIC_RAW¶
Аналогично
CLOCK_MONOTONIC
, но предоставляет доступ к исходному времени, основанному на аппаратном обеспечении, которое не подлежит корректировке по протоколу NTP.Availability: Linux >= 2.6.28, macOS >= 10.12.
Добавлено в версии 3.3.
- time.CLOCK_PROCESS_CPUTIME_ID¶
Таймер с высоким разрешением для каждого процесса от центрального процессора.
Availability: Unix.
Добавлено в версии 3.3.
- time.CLOCK_PROF¶
Таймер с высоким разрешением для каждого процесса от центрального процессора.
Availability: FreeBSD, NetBSD >= 7, OpenBSD.
Добавлено в версии 3.7.
- time.CLOCK_TAI¶
-
Для получения правильного ответа в системе должна быть текущая таблица високосных секунд. Программное обеспечение PTP или NTP может поддерживать таблицу високосных секунд.
Availability: Linux.
Добавлено в версии 3.9.
- time.CLOCK_THREAD_CPUTIME_ID¶
Часы процессорного времени, зависящие от конкретного потока.
Availability: Unix.
Добавлено в версии 3.3.
- time.CLOCK_UPTIME¶
Время, абсолютным значением которого является время, в течение которого система работала, а не приостанавливалась, что обеспечивает точное измерение времени безотказной работы, как абсолютного, так и интервального.
Availability: FreeBSD, OpenBSD >= 5.5.
Добавлено в версии 3.7.
- time.CLOCK_UPTIME_RAW¶
Часы, которые монотонно увеличивают время, отслеживая его с произвольной точки, не подвержены изменениям частоты или времени и не увеличиваются, пока система находится в спящем режиме.
Availability: mac OS >= 10.12.
Добавлено в версии 3.8.
Следующая константа является единственным параметром, который может быть отправлен в clock_settime()
.
- time.CLOCK_REALTIME¶
Общесистемные часы реального времени. Для установки этих часов требуются соответствующие привилегии.
Availability: Unix.
Добавлено в версии 3.3.
Постоянные часового пояса¶
- time.altzone¶
Смещение местного часового пояса DST в секундах к западу от UTC, если оно определено. Значение отрицательное, если местный часовой пояс DST находится к востоку от UTC (как в Западной Европе, включая Великобританию). Используйте это значение только в том случае, если
daylight
не равно нулю. Смотрите примечание ниже.
- time.daylight¶
Отличное от нуля значение, если задан часовой пояс для перехода на летнее время. Смотрите примечание ниже.
- time.timezone¶
Смещение местного часового пояса (отличного от летнего) в секундах к западу от UTC (отрицательное в большинстве стран Западной Европы, положительное в США, нулевое в Великобритании). Смотрите примечание ниже.
- time.tzname¶
Набор из двух строк: первая - название местного часового пояса, отличного от летнего, вторая - название местного часового пояса, отличного от летнего. Если часовой пояс, отличающийся от летнего, не определен, вторую строку использовать не следует. Смотрите примечание ниже.
Примечание
Для указанных выше констант часового пояса (altzone
, daylight
, timezone
, и tzname
значение определяется правилами часового пояса, действующими на момент загрузки модуля, или временем последнего вызова tzset()
и может быть неверным для прошлых значений. Рекомендуется использовать tm_gmtoff
и tm_zone
результаты из localtime()
для получения информации о часовом поясе.
См.также
- Модуль
datetime
Более объектно-ориентированный интерфейс для работы с датами и временем.
- Модуль
locale
Службы интернационализации. Настройка языкового стандарта влияет на интерпретацию многих спецификаторов формата в
strftime()
иstrptime()
.- Модуль
calendar
Общие функции, связанные с календарем.
timegm()
является величиной, обратнойgmtime()
из этого модуля.
Сноски