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 — это летнее время, корректировка часового пояса на (обычно) один час в течение части года. Правила 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: Атрибуты
struct_timetm_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().Примечание
В отличие от одноимённой C-функции,
asctime()не добавляет символ новой строки в конец.
-
time.pthread_getcpuclockid(thread_id) -
Возвращает идентификатор clk_id таймера CPU-времени, специфичного для потока, для заданного 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().Доступность: 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().Доступность: Unix, не Android, не iOS.
Добавлена в версии 3.3.
-
time.clock_settime_ns(clk_id, time: int) -
Аналогично
clock_settime(), но устанавливает время в наносекундах.Доступность: Unix, не Android, не iOS.
Добавлена в версии 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при применении DST к заданному времени.localtime()может вызыватьOverflowError, если временная метка находится за пределами диапазона значений, поддерживаемых платформой Clocaltime()илиgmtime()функциями, иOSErrorприlocaltime()илиgmtime()ошибке. Обычно это ограничение действует для лет от 1970 до 2038.
-
time.mktime(t) -
Это обратная функция к
localtime(). Ее аргумент —struct_timeили полная 9-ка (так как нужен флаг dst; используйте-1в качестве флага dst, если он неизвестен), которая выражает время в локальном часовом поясе, а не в UTC. Она возвращает число с плавающей запятой, для совместимости сtime(). Если входное значение не может быть представлено как действительное время, будет возбуждено исключениеOverflowErrorилиValueError(что зависит от того, поймано ли некорректное значение Python или базовыми C-библиотеками). Наименьшая дата, для которой она может сгенерировать время, зависит от платформы.
-
time.monotonic() → float -
Возвращает значение (в долях секунды) монотонных часов, т. е. часов, которые не могут идти назад. Часы не зависят от обновлений системных часов. Точка отсчета возвращаемого значения не определена, поэтому действителен только разрыв между результатами двух вызовов.
Часы:
- В Windows вызываются
QueryPerformanceCounter()иQueryPerformanceFrequency(). - В macOS вызываются
mach_absolute_time()иmach_timebase_info(). - В HP-UX вызывается
gethrtime(). - Если доступно, вызывается
clock_gettime(CLOCK_HIGHRES). - В противном случае, вызывается
clock_gettime(CLOCK_MONOTONIC).
Для избежания потери точности, вызванной типом
float, используйтеmonotonic_ns().Добавлена в версии 3.3.
Изменено в версии 3.5: Функция теперь всегда доступна и всегда системная.
Изменено в версии 3.10: В macOS функция теперь системная.
- В Windows вызываются
-
time.monotonic_ns() → int -
Аналогично
monotonic(), но возвращает время в наносекундах.Добавлена в версии 3.7.
-
time.perf_counter() → float -
Возвращает значение (в долях секунды) счётчика производительности, т. е. часов с наивысшей доступной точностью для измерения короткого промежутка времени. Он включает время, затраченное на ожидание, и является системным. Точка отсчёта возвращаемого значения не определена, поэтому действителен только разрыв между результатами двух вызовов.
Деталь реализации CPython: В CPython используется те же часы, что и в
time.monotonic(), и это монотонные часы, т. е. часы, которые не могут идти назад.Для избежания потери точности, вызванной типом
float, используйтеperf_counter_ns().Добавлена в версии 3.3.
Изменено в версии 3.10: В Windows функция теперь системная.
Изменено в версии 3.13: Использует те же часы, что и
time.monotonic().
-
time.perf_counter_ns() → int -
Аналогично
perf_counter(), но возвращает время в наносекундах.Добавлена в версии 3.7.
-
time.process_time() → float -
Возвращает значение (в долях секунды) суммы системного и пользовательского времени процессора текущего процесса. Не включает время, затраченное на ожидание. По определению является процессом. Точка отсчёта возвращаемого значения не определена, поэтому действителен только разрыв между результатами двух вызовов.
Для избежания потери точности, вызванной типом
float, используйтеprocess_time_ns().Добавлена в версии 3.3.
-
time.process_time_ns() → int -
Аналогично
process_time(), но возвращает время в наносекундах.Добавлена в версии 3.7.
-
time.sleep(secs) -
Приостанавливает выполнение вызывающей потока на заданное число секунд. Аргумент может быть числом с плавающей точкой, чтобы указать более точное время ожидания.
Если ожидание прерывается сигналом, и обработчик сигнала не вызывает исключение, ожидание возобновляется с пересчитанным таймаутом.
Время приостановки может быть больше, чем запрошено, на произвольную величину из-за планирования другой активности в системе.
В Windows, если secs равно нулю, поток уступает оставшуюся часть своего кванта времени любому другому готовому потоку. Если других готовых потоков нет, функция возвращается немедленно, и поток продолжает выполнение. В Windows 8.1 и более поздних версиях реализация использует высокоточную таймер, которая обеспечивает разрешение 100 наносекунд. Если secs равно нулю, используется
Sleep(0).Реализация Unix:
- Используйте
clock_nanosleep()(разрешение: 1 наносекунда), если доступно; - Или используйте
nanosleep()(разрешение: 1 наносекунда), если доступно; - Или используйте
select()(разрешение: 1 микросекунда).
Вызывает аудиторское событие
time.sleepс аргументомsecs.Изменено в версии 3.5: Функция теперь ждет не менее secs даже если ожидание прерывается сигналом, за исключением случаев, когда обработчик сигнала вызывает исключение (см. PEP 475 для обоснования).
Изменено в версии 3.11: В Unix, функции
clock_nanosleep()иnanosleep()теперь используются, если доступны. В Windows теперь используется таймер с ожиданием.Изменено в версии 3.13: Вызывает аудиторское событие.
- Используйте
-
time.strftime(format[, t]) -
Преобразуйте кортеж или
struct_time, представляющий время, как возвращаетсяgmtime()илиlocaltime(), в строку, как указано аргументом формат. Если t не указано, используется текущее время, возвращаемоеlocaltime(). формат должен быть строкой.ValueErrorгенерируется, если какое-либо поле в t находится за пределами допустимого диапазона.0 является допустимым аргументом для любой позиции в кортеже времени; если он обычно недопустим, значение принудительно устанавливается на правильное.
В строку формат могут быть вставлены следующие директивы. Они показаны без необязательных спецификаций ширины и точности поля и заменяются указанными символами в результате
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().Параметр формат использует те же директивы, что и
strftime(); он по умолчанию равен"%a %b %d %H:%M:%S %Y", который соответствует формату, возвращаемомуctime(). Если строка не может быть обработана в соответствии с форматом или содержит избыточные данные после обработки, генерируетсяValueError. Значения по умолчанию, используемые для заполнения отсутствующих данных, когда более точные значения нельзя определить, составляют(1900, 1, 1, 0, 0, 0, 0, 1, -1). И строка, и формат должны быть строками.Например:
>>> 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; см. ниже
N/A
-
tm_zone
аббревиатура имени часового пояса
N/A
-
tm_gmtoff
смещение к востоку от UTC в секундах
Обратите внимание, что в отличие от структуры C, значение месяца представляет собой диапазон [1, 12], а не [0, 11].
При вызовах
mktime(),tm_isdstможет быть установлено в 1, когда летнее время действует, и в 0, когда нет. Значение -1 указывает, что это неизвестно, и обычно приведет к заполнению правильного состояния.Если функция, ожидающая
struct_time, получает кортеж с неправильной длиной или элементами неверного типа, генерируется исключениеTypeError. -
-
time.time() → float -
Возвращает время в секундах с начала эпохи в виде числа с плавающей точкой. Обработка високосных секунд зависит от платформы. В Windows и на большинстве Unix-систем високосные секунды не учитываются при подсчете времени в секундах с начала эпохи. Это обычно называется временем Unix.
Обратите внимание, что даже если время всегда возвращается в виде числа с плавающей точкой, не все системы обеспечивают время с большей точностью, чем 1 секунда. Хотя эта функция обычно возвращает не убывающие значения, она может вернуть меньшее значение по сравнению с предыдущим вызовом, если системные часы были установлены назад между двумя вызовами.
Число, возвращаемое функцией
time(), может быть преобразовано в более распространённый формат времени (т. е. год, месяц, день, час и т. д.) в UTC, передав его в функциюgmtime(), или в местное время, передав его в функциюlocaltime(). В обоих случаях возвращается объектstruct_time, из которого компоненты даты могут быть получены как атрибуты.Часы:
- В Windows, вызывайте
GetSystemTimeAsFileTime(). - Вызывайте
clock_gettime(CLOCK_REALTIME)если доступно. - В противном случае вызывайте
gettimeofday().
Используйте
time_ns(), чтобы избежать потерь точности, вызванных типомfloat. - В Windows, вызывайте
-
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-й день. День ноль — воскресенье.
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) удобнее использовать базу данных системных данных часовых поясов (tzfile(5)) для указания правил часового пояса. Для этого необходимо установить переменную среды
TZв путь к необходимому файлу данных часового пояса, относительно корня базы данных системных данных часовых поясов, обычно расположенной по адресу/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_MONOTONIC_RAW_APPROX -
Аналогично
CLOCK_MONOTONIC_RAW, но считывает значение, кэшированное системой во время переключения контекстов, и поэтому имеет меньшую точность.Доступность: macOS >= 10.12.
Добавлен в версии 3.13.
-
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.
-
time.CLOCK_UPTIME_RAW_APPROX -
Как
CLOCK_UPTIME_RAW, но значение кэшируется системой во время переключения контекстов и поэтому имеет меньшую точность.Доступность: macOS >= 10.12.
Добавлен в версии 3.13.
Следующая константа — единственный параметр, который можно передать в clock_settime().
-
time.CLOCK_REALTIME -
Системные реальные часы. Установка этих часов требует соответствующих привилегий.
Доступность: Unix.
Добавлен в версии 3.3.
Постоянные значения часовых поясов
-
time.altzone -
Смещение местного часового пояса с летним временем (DST) в секундах к западу от UTC, если он определён. Значение отрицательное, если местный часовой пояс с летним временем (DST) расположен к востоку от UTC (как в Западной Европе, включая Великобританию). Используйте только тогда, когда
daylightне равно нулю. См. примечание ниже.
-
time.daylight -
Не равно нулю, если определён часовой пояс с летним временем (DST). См. примечание ниже.
-
time.timezone -
Смещение местного (без летнего времени (DST)) часового пояса в секундах к западу от UTC (отрицательное значение в большей части Западной Европы, положительное в США, ноль в Великобритании). См. примечание ниже.
-
time.tzname -
Кортеж из двух строк: первая — имя местного часового пояса без летнего времени (DST), вторая — имя местного часового пояса с летним временем (DST). Если часовой пояс с летним временем (DST) не определён, вторая строка не используется. См. примечание ниже.
Примечание
Для указанных выше постоянных значений часового пояса (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.13/library/time.html