time — Доступ к времени и преобразования
Этот модуль предоставляет различные функции, связанные со временем. Для смежных функций также обратитесь к модулям datetime и calendar.
Хотя этот модуль всегда доступен, не все функции доступны на всех платформах. Большинство функций, определённых в этом модуле, вызывают функции платформенной библиотеки C с тем же именем. Иногда полезно обратиться к документации платформы, так как семантика этих функций различается на разных платформах.
Необходимо разъяснить некоторые термины и соглашения.
- Эпоха — точка отсчёта времени, зависящая от платформы. Для Unix эпоха — 1 января 1970 года, 00:00:00 (UTC). Чтобы узнать, какая эпоха используется на данной платформе, посмотрите на
time.gmtime(0).
- Термин «секунды с момента эпохи» относится к общему количеству прошедших секунд с момента эпохи, как правило, без учёта лишних секунд. Лишние секунды исключаются из этого общего количества на всех платформах, совместимых с 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 таймера процессорного времени для указанного потока 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при применении DST к заданному времени.localtime()может генерировать исключениеOverflowError, если отметка времени выходит за пределы диапазона значений, поддерживаемых платформенными C-функциямиlocaltime()или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 -
Возвращает значение (в долях секунды) монотонных часов, т.е. часов, которые не могут идти назад. Часы не зависят от обновлений системных часов. Ссылочная точка возвращаемого значения не определена, поэтому допустимо только различие между результатами двух вызовов.
Используйте
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) -
Приостанавливает выполнение вызывающей потока на заданное количество секунд. Аргумент может быть числом с плавающей точкой, чтобы указать более точное время ожидания. Фактическое время приостановки может быть меньше запрошенного, потому что любой пойманный сигнал завершит выполнение
sleep()после выполнения обработчика этого сигнала. Кроме того, время приостановки может быть больше запрошенного на произвольную величину из-за планирования других операций в системе.Изменено в версии 3.5: Функция теперь приостанавливается по крайней мере на secs, даже если приостановка прерывается сигналом, за исключением случаев, когда обработчик сигнала вызывает исключение (см. PEP 475 для обоснования).
-
time.strftime(format[, t]) -
Преобразовать кортеж или
struct_time, представляющий время, как возвращаетgmtime()илиlocaltime(), в строку, как указано в аргументе format. Если t не указан, используется текущее время, возвращаемоеlocaltime(). format должен быть строкой.ValueErrorгенерируется, если любое поле в t выходит за допустимый диапазон.0 — допустимый аргумент для любой позиции в кортеже времени; если он обычно недопустим, значение принудительно устанавливается на корректное.
Следующие директивы могут быть встроены в строку format. Они показаны без необязательной ширины поля и точности, и заменяются указанными символами в результате
strftime():Директива
Значение
Примечания
%aСокращенное имя дня недели из текущего языка.
%AПолное имя дня недели из текущего языка.
%bСокращенное имя месяца из текущего языка.
%BПолное имя месяца из текущего языка.
%cСоответствующее представлению даты и времени из текущего языка.
%dДень месяца как десятичное число [01,31].
%HЧас (24-часовой формат) как десятичное число [00,23].
%IЧас (12-часовой формат) как десятичное число [01,12].
%jНомер дня в году как десятичное число [001,366].
%mНомер месяца как десятичное число [01,12].
%MМинута как десятичное число [00,59].
%pЛокализованный эквивалент AM или PM.
(1)
%SСекунда как десятичное число [00,61].
(2)
%UНомер недели в году (воскресенье — первый день недели) как десятичное число [00,53]. Все дни в новом году, предшествующие первому воскресенью, считаются нулевой неделей.
(3)
%wДень недели как десятичное число [0(воскресенье),6].
%WНомер недели в году (понедельник — первый день недели) как десятичное число [00,53]. Все дни в новом году, предшествующие первому понедельнику, считаются нулевой неделей.
(3)
%xСоответствующее представлению даты из текущего языка.
%XСоответствующее представлению времени из текущего языка.
%yГод без века как десятичное число [00,99].
%YГод с веком как десятичное число.
%zСмещение часового пояса, показывающее положительную или отрицательную разницу во времени от UTC/GMT в формате +HHMM или -HHMM, где H представляет десятичные цифры часов, а M — десятичные цифры минут [-23:59, +23:59]. 1
%ZИмя часового пояса (нет символов, если часовой пояс отсутствует). Устарело. 1
%%Буквальный символ
'%'.Примечания:
- При использовании с функцией
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_isdst0, 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-систем эпоха — 1 января 1970 года, 00:00:00 (UTC), а високосные секунды не учитываются при подсчете времени в секундах с момента эпохи. Это обычно называется временем Unix. Чтобы узнать, что такое эпоха на данной платформе, см.
gmtime(0).Обратите внимание, что, хотя время всегда возвращается в виде числа с плавающей точкой, не все системы обеспечивают время с точностью выше 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.Доступность: Windows, Linux, Unix-системы, поддерживающие
CLOCK_THREAD_CPUTIME_ID.Добавлена в версии 3.7.
-
time.thread_time_ns() →int -
Аналогично
thread_time(), но возвращает время в наносекундах.Добавлена в версии 3.7.
-
time.tzset() -
Перезадает правила преобразования времени, используемые библиотечными процедурами. Переменная среды
TZопределяет, как это делается. Она также устанавливает переменныеtzname(из переменной средыTZ),timezone(секунды до DST к западу от UTC),altzone(секунды DST к западу от 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) удобнее использовать базу данных зон времени системы 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 -
Смещение местного часового пояса 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()из этого модуля.
Примечания
-
1(1,2,3) -
Использование
%Zустарело, но%zescape, который расширяется до предпочтительного смещения час/минута, не поддерживается всеми библиотеками ANSI C. Кроме того, строгое прочтение исходного стандарта RFC 822 1982 года требует двузначного года (%yвместо%Y), но практика перешла на четырёхзначные годы задолго до 2000 года. После этого RFC 822 устарела, а четырёхзначный год был сначала рекомендован RFC 1123, а затем стал обязательным RFC 2822.
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/library/time.html