time — Доступ к времени и преобразования
Этот модуль предоставляет различные функции, связанные со временем. См. также модули datetime и calendar, предоставляющие связанные возможности.
Хотя этот модуль доступен всегда, не все функции доступны на всех платформах. Большинство функций, определённых в этом модуле, вызывают одноимённые функции библиотеки C платформы. Иногда полезно обратиться к документации платформы, поскольку семантика этих функций различается на разных платформах.
Необходимо пояснить некоторые термины и соглашения.
- Эпоха — это момент, с которого начинается отсчёт времени; значение, возвращаемое
time.gmtime(0). На всех платформах это 1 января 1970 года, 00:00:00 (UTC).
- Термин секунды с начала эпохи обозначает общее число прошедших с начала эпохи секунд, обычно без учёта високосных секунд. На всех POSIX-совместимых платформах високосные секунды не учитываются.
- Функции этого модуля могут не обрабатывать даты и время до начала эпохи или в отдалённом будущем. Будущая предельная дата определяется библиотекой C; для 32-разрядных систем это обычно 2038 год.
- Функция
strptime()может разбирать двузначные годы, если ей передан код формата%y. При разборе двузначные годы преобразуются в соответствии со стандартами POSIX и ISO C: значения 69–99 интерпретируются как 1969–1999 годы, а значения 0–68 — как 2000–2068 годы.
- UTC — это всемирное координированное время (ранее известное как время по Гринвичу, или GMT). Аббревиатура UTC — не ошибка, а компромисс между английским и французским языками.
- DST — это переход на летнее время, обычно подразумевающий перевод часового пояса на один час в течение части года. Правила перехода на летнее время загадочны (их определяет местное законодательство) и могут меняться из года в год. В библиотеке 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: Атрибуты
tm_gmtoffиtm_zoneтипаstruct_timeтеперь доступны на всех платформах. -
Для преобразования между представлениями времени используйте следующие функции:
Из
В
Функция
секунды с начала эпохи
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()не использует сведения о локали.Примечание
В отличие от одноимённой функции C,
asctime()не добавляет завершающий символ новой строки.
-
time.pthread_getcpuclockid(thread_id) -
Возвращает clk_id часов процессорного времени, относящихся к указанному потоку thread_id.
Чтобы получить подходящее значение для thread_id, используйте
threading.get_ident()или атрибутidentобъектовthreading.Thread.Предупреждение
Передача недействительного или уже несуществующего thread_id может привести к неопределённому поведению, например к ошибке сегментации.
Доступность: Unix
Дополнительные сведения см. на справочной странице pthread_getcpuclockid(3).
Добавлено в версии 3.7.
-
time.clock_getres(clk_id) -
Возвращает разрешение (точность) указанных часов clk_id. Список допустимых значений clk_id см. в разделе Константы идентификаторов часов.
Доступность: Unix.
Добавлено в версии 3.3.
-
time.clock_gettime(clk_id) → float -
Возвращает время указанных часов clk_id. Список допустимых значений clk_id см. в разделе Константы идентификаторов часов.
Используйте
clock_gettime_ns(), чтобы избежать потери точности, вызванной типомfloat.Доступность: Unix.
Добавлено в версии 3.3.
-
time.clock_gettime_ns(clk_id) → int -
Аналогична
clock_gettime(), но возвращает время в наносекундах.Доступность: Unix.
Добавлено в версии 3.7.
-
time.clock_settime(clk_id, time: float) -
Устанавливает время указанных часов clk_id. В настоящее время для clk_id допускается только значение
CLOCK_REALTIME.Используйте
clock_settime_ns(), чтобы избежать потери точности, вызванной типомfloat.Доступность: Unix.
Добавлено в версии 3.3.
-
time.clock_settime_ns(clk_id, time: int) -
Аналогична
clock_settime(), но устанавливает время в наносекундах.Доступность: Unix.
Добавлено в версии 3.7.
-
time.ctime([secs]) -
Преобразует время, выраженное в секундах с начала эпохи, в строку вида:
'Sun Jun 20 23:21:05 1993', представляющую местное время. Поле дня состоит из двух символов; если день представлен одной цифрой, перед ней ставится пробел, например:'Wed Jun 9 04:26:40 1993'.Если secs не задан или равен
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()
Результат имеет следующие атрибуты:
-
adjustable:
True, если часы можно изменять автоматически (например, службой NTP) или вручную системным администратором, иFalseв противном случае - implementation: имя базовой функции C, используемой для получения значения часов. Возможные значения см. в разделе Константы идентификаторов часов.
-
monotonic:
True, если часы не могут идти назад, иFalseв противном случае -
resolution: разрешение часов в секундах (тип
float)
Добавлено в версии 3.3.
-
-
time.gmtime([secs]) -
Преобразует время, выраженное в секундах с начала эпохи, в объект
struct_timeв UTC, в котором флаг dst всегда равен нулю. Если secs не задан или равенNone, используется текущее время в формате, возвращаемом функциейtime(). Доли секунды игнорируются. Описание объектаstruct_timeсм. выше. Обратной для этой функции являетсяcalendar.timegm().
-
time.localtime([secs]) -
Подобна
gmtime(), но преобразует время в местное. Если secs не задан или равенNone, используется текущее время в формате, возвращаемом функциейtime(). Если для указанного времени действует летнее время, флаг dst устанавливается в1.localtime()может вызвать исключениеOverflowError, если временная метка выходит за диапазон значений, поддерживаемый функциями C-платформыlocaltime()илиgmtime(), иOSErrorпри ошибкеlocaltime()илиgmtime(). Часто допустимый диапазон ограничен годами с 1970 по 2038.
-
time.mktime(t) -
Это обратная функция для
localtime(). Её аргументом являетсяstruct_timeили полный кортеж из 9 элементов (так как необходим флаг dst; если его значение неизвестно, используйте-1), задающий время в местной временной зоне, а не в UTC. Функция возвращает число с плавающей точкой для совместимости сtime(). Если входное значение нельзя представить как допустимое время, возникает исключениеOverflowErrorилиValueError(в зависимости от того, перехватывается ли недопустимое значение Python или нижележащими библиотеками C). Самая ранняя дата, для которой функция может сформировать время, зависит от платформы.
-
time.monotonic() → float -
Возвращает значение (в долях секунды) монотонных часов, то есть часов, которые не могут идти назад. На эти часы не влияют изменения системных часов. Точка отсчёта возвращаемого значения не определена, поэтому допустимо использовать только разность результатов двух вызовов.
Используйте
monotonic_ns(), чтобы избежать потери точности, вызванной типомfloat.Добавлено в версии 3.3.
Изменено в версии 3.5: Теперь функция всегда доступна и всегда работает в масштабе всей системы.
Изменено в версии 3.10: В macOS функция теперь работает в масштабе всей системы.
-
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
В Windows, если secs равно нулю, поток уступает оставшуюся часть своего временного интервала любому другому готовому к выполнению потоку. Если других готовых потоков нет, функция немедленно возвращает управление, и поток продолжает выполнение. В Windows 8.1 и новее используется таймер высокого разрешения с разрешением 100 наносекунд. Если secs равно нулю, используется
Sleep(0).Реализация в Unix
- Если доступна, используется
clock_nanosleep()(разрешение: 1 наносекунда); - Или, если доступна, используется
nanosleep()(разрешение: 1 наносекунда); - Или используется
select()(разрешение: 1 микросекунда).
Примечание
Чтобы имитировать «пустую операцию», используйте
passвместоtime.sleep(0).Чтобы добровольно уступить процессор, укажите реальную политику планирования и используйте
os.sched_yield().Изменено в версии 3.5: Теперь функция ожидает не менее secs, даже если ожидание прерывается сигналом, за исключением случаев, когда обработчик сигнала вызывает исключение (обоснование см. в PEP 475).
Изменено в версии 3.11: В Unix теперь используются функции
clock_nanosleep()иnanosleep(), если они доступны. В Windows теперь используется таймер ожидания. - Если доступна, используется
-
time.strftime(format[, t]) -
Преобразует кортеж или
struct_time, представляющий время, в формате, возвращаемом функциейgmtime()илиlocaltime(), в строку согласно аргументу format. Если t не задан, используется текущее время в формате, возвращаемом функциейlocaltime(). format должен быть строкой. Если какое-либо поле в t выходит за допустимый диапазон, возникает исключениеValueError.0 является допустимым аргументом для любой позиции в кортеже времени; если обычно он недопустим, значение принудительно заменяется корректным.
В строку 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)
%uДень недели (понедельник — 1; воскресенье — 7) в виде десятичного числа [1, 7].
%wДень недели в виде десятичного числа [0 (воскресенье), 6].
%WНомер недели года (понедельник считается первым днём недели) в виде десятичного числа [00,53]. Все дни нового года до первого понедельника считаются днями недели 0.
(4)
%xПредставление даты согласно локали.
%XПредставление времени согласно локали.
%yГод без века в виде десятичного числа [00,99].
%YГод с веком в виде десятичного числа.
%zСмещение часового пояса, указывающее положительную или отрицательную разницу во времени относительно UTC/GMT, в формате +HHMM или -HHMM, где H обозначает десятичные цифры часов, а M — десятичные цифры минут [-23:59, +23:59]. [1]
%ZНазвание часового пояса (пустая строка, если часовой пояс отсутствует). Устарела. [1]
%GГод по ISO 8601 (аналогичен
%Y, но следует правилам календарного года ISO 8601). Год начинается с недели, содержащей первый четверг календарного года.%VНомер недели по ISO 8601 (в виде десятичного числа [01,53]). Первая неделя года — это неделя, содержащая первый четверг года. Неделя начинается в понедельник.
%%Литерал — символ
'%'.Примечания:
- Директива формата
%fприменяется только кstrptime(), но не кstrftime(). Однако см. такжеdatetime.datetime.strptime()иdatetime.datetime.strftime(), где директива формата%fприменяется к микросекундам. - При использовании с функцией
strptime()директива%pвлияет на выходное поле часов только в том случае, если для разбора часа используется директива%I.
- Фактический диапазон — от
0до61; значение60допустимо в метках времени, соответствующих високосным секундам, а значение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(). Если строку string невозможно разобрать согласно format или после разбора остаются лишние данные, возникает исключение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(). Это объект с интерфейсом именованного кортежа: значения доступны по индексу и имени атрибута. В объекте присутствуют следующие значения:Индекс
Атрибут
Значения
0
-
tm_year
(например, 1993)
1
-
tm_mon
диапазон [1, 12]
2
-
tm_mday
диапазон [1, 31]
3
-
tm_hour
диапазон [0, 23]
4
-
tm_min
диапазон [0, 59]
5
-
tm_sec
диапазон [0, 61]; см. примечание (2) в описании
strftime()6
-
tm_wday
диапазон [0, 6]; понедельник — 0
7
-
tm_yday
диапазон [1, 366]
8
-
tm_isdst
0, 1 или -1; см. ниже
Н/Д
-
tm_zone
аббревиатура названия часового пояса
Н/Д
-
tm_gmtoff
смещение к востоку от UTC в секундах
Обратите внимание: в отличие от структуры C, значение месяца находится в диапазоне [1, 12], а не [0, 11].
При вызове
mktime()атрибутуtm_isdstможно присвоить значение 1, если действует летнее время, и 0, если оно не действует. Значение -1 означает, что это неизвестно; обычно в этом случае будет подставлено правильное значение.Если функции, ожидающей объект
struct_time, передать кортеж неверной длины или содержащий элементы неправильного типа, возникает исключениеTypeError. -
-
time.time() → float -
Возвращает время в секундах с момента начала эпохи в виде числа с плавающей запятой. Обработка високосных секунд зависит от платформы. В Windows и большинстве систем Unix високосные секунды не учитываются при подсчёте времени в секундах с момента начала эпохи. Это обычно называют временем Unix.
Обратите внимание: хотя время всегда возвращается в виде числа с плавающей запятой, не все системы обеспечивают точность времени лучше одной секунды. Обычно эта функция возвращает неубывающие значения, однако может вернуть значение меньше предыдущего, если между вызовами системные часы были переведены назад.
Число, возвращённое функцией
time(), можно преобразовать в более привычный формат времени (например, год, месяц, день, час и т. д.) в UTC, передав его функцииgmtime(), или в местное время, передав его функцииlocaltime(). В обоих случаях возвращается объектstruct_time, атрибуты которого позволяют получить компоненты календарной даты.Используйте
time_ns(), чтобы избежать потери точности, связанной с типомfloat.
-
time.time_ns() → int -
Аналогична
time(), но возвращает время в виде целого числа наносекунд с момента начала эпохи.Добавлена в версии 3.7.
-
time.thread_time() → float -
Возвращает значение (в долях секунды), равное сумме системного и пользовательского процессорного времени текущего потока. Время, проведённое в ожидании, не учитывается. По определению, значение относится к конкретному потоку. Точка отсчёта возвращаемого значения не определена, поэтому имеет смысл только разность результатов двух вызовов в одном и том же потоке.
Используйте
thread_time_ns(), чтобы избежать потери точности, связанной с типомfloat.Доступность: 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, если для этого часового пояса не предусмотрены правила летнего времени, или ненулевое значение, если существует время — в прошлом, настоящем или будущем, — когда действует летнее время).Доступность: Unix.
Примечание
Хотя во многих случаях изменение переменной окружения
TZможет повлиять на результат таких функций, какlocaltime(), даже без вызоваtzset(), полагаться на такое поведение не следует.Переменная окружения
TZне должна содержать пробельных символов.Стандартный формат переменной окружения
TZимеет следующий вид (пробелы добавлены для наглядности):std offset [dst [offset [,start[/time], end[/time]]]]
Компоненты:
-
std and dst -
Три или более буквенно-цифровых символа, задающих аббревиатуры часовых поясов. Они будут записаны в time.tzname.
-
offset -
Смещение имеет вид:
± hh[:mm[:ss]]. Оно обозначает значение, которое нужно прибавить к местному времени, чтобы получить UTC. Если перед смещением стоит знак «-», часовой пояс находится к востоку от нулевого меридиана; в противном случае — к западу. Если после dst смещение не указано, предполагается, что летнее время опережает стандартное на один час. -
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 — первая неделя, в которой встречается день d. День 0 — воскресенье.
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()или аналогичного средства.Доступность: Linux >= 2.6.39.
Добавлена в версии 3.7.
-
time.CLOCK_HIGHRES -
В ОС Solaris есть таймер
CLOCK_HIGHRES, который пытается использовать оптимальный аппаратный источник времени и может обеспечивать точность почти до наносекунды.CLOCK_HIGHRES— это нерегулируемые часы высокого разрешения.Доступность: Solaris.
Добавлена в версии 3.3.
-
time.CLOCK_MONOTONIC -
Часы, которые нельзя установить вручную и которые показывают монотонное время с некоторого неопределённого начального момента.
Доступность: Unix.
Добавлена в версии 3.3.
-
time.CLOCK_MONOTONIC_RAW -
Аналогична
CLOCK_MONOTONIC, но предоставляет доступ к необработанному аппаратному времени, на которое не влияют корректировки NTP.Доступность: Linux >= 2.6.28, macOS >= 10.12.
Добавлена в версии 3.3.
-
time.CLOCK_PROCESS_CPUTIME_ID -
Таймер процессорного времени высокого разрешения для отдельного процесса.
Доступность: Unix.
Добавлена в версии 3.3.
-
time.CLOCK_PROF -
Таймер процессорного времени высокого разрешения для отдельного процесса.
Доступность: FreeBSD, NetBSD >= 7, OpenBSD.
Добавлена в версии 3.7.
-
time.CLOCK_TAI -
Для получения правильного результата в системе должна быть актуальная таблица високосных секунд. Программное обеспечение PTP или NTP может поддерживать такую таблицу.
Доступность: Linux.
Добавлена в версии 3.9.
-
time.CLOCK_THREAD_CPUTIME_ID -
Часы процессорного времени, относящиеся к отдельному потоку.
Доступность: Unix.
Добавлена в версии 3.3.
-
time.CLOCK_UPTIME -
Часы, абсолютное значение которых соответствует времени работы системы без учёта периодов приостановки; обеспечивают точное измерение времени непрерывной работы как в абсолютных величинах, так и за интервал.
Доступность: FreeBSD, OpenBSD >= 5.5.
Добавлена в версии 3.7.
-
time.CLOCK_UPTIME_RAW -
Часы, которые монотонно увеличиваются, отсчитывая время с произвольного момента; на них не влияют корректировки частоты или времени, и они не увеличиваются, пока система находится в спящем режиме.
Доступность: macOS >= 10.12.
Добавлена в версии 3.8.
Следующая константа — единственный параметр, который можно передать функции clock_settime().
-
time.CLOCK_REALTIME -
Системные часы реального времени. Для установки этих часов требуются соответствующие права.
Доступность: Unix.
Добавлена в версии 3.3.
Константы часовых поясов
-
time.altzone -
Смещение местного часового пояса с летним временем в секундах к западу от UTC, если такой пояс определён. Значение отрицательно, если местный часовой пояс с летним временем находится к востоку от UTC (как в Западной Европе, включая Великобританию). Используйте эту константу, только если
daylightне равно нулю. См. примечание ниже.
-
time.daylight -
Ненулевое значение, если определён часовой пояс с летним временем. См. примечание ниже.
-
time.timezone -
Смещение местного часового пояса (без летнего времени) в секундах к западу от UTC (отрицательное значение в большей части Западной Европы, положительное — в США, нулевое — в Великобритании). См. примечание ниже.
-
time.tzname -
Кортеж из двух строк: первая — название местного часового пояса без летнего времени, вторая — название местного часового пояса с летним временем. Если часовой пояс с летним временем не определён, вторую строку использовать не следует. См. примечание ниже.
Примечание
Значение перечисленных выше констант часовых поясов (altzone, daylight, timezone и tzname) определяется правилами часового пояса, действующими при загрузке модуля или при последнем вызове tzset(), и может быть неверным для времени в прошлом. Для получения сведений о часовом поясе рекомендуется использовать результаты tm_gmtoff и tm_zone, возвращаемые функцией localtime().
См. также
-
Moduledatetime -
Более объектно-ориентированный интерфейс для работы с датами и временем.
-
Modulelocale -
Средства интернационализации. Настройка локали влияет на интерпретацию многих спецификаторов формата в функциях
strftime()иstrptime(). -
Modulecalendar -
Общие функции для работы с календарём. Функция
timegm()является обратной кgmtime()из этого модуля.
Сноски
© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/library/time.html