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(), чтобы избежать потери точности, вызванной типом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. В настоящее время,
CLOCK_REALTIME— единственное допустимое значение для clk_id.Используйте
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, если временная метка выходит за пределы диапазона значений, поддерживаемых платформой 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 -
Возвращает значение (в долях секунды) монотонных часов, т.е. часов, которые не могут идти назад. Часы не зависят от обновлений системных часов. Точка отсчёта возвращаемого значения не определена, поэтому допустимо только сравнение разницы между результатами двух вызовов.
Используйте
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, если secs равно нулю, поток уступает оставшуюся часть своего временного кванта любому другому потоку, готовому к выполнению. Если нет других готовых потоков, функция возвращается немедленно, и поток продолжает выполнение. В Windows 8.1 и новее реализация использует высокоточное таймер, обеспечивающий разрешение в 100 наносекунд. Если secs равно нулю, используется
Sleep(0).Реализация для Unix:
- Используйте
clock_nanosleep()(если доступно) (разрешение: 1 наносекунда); - Или используйте
nanosleep()(если доступно) (разрешение: 1 наносекунда); - Или используйте
select()(разрешение: 1 микросекунда).
Изменено в версии 3.11: В Unix, функции
clock_nanosleep()иnanosleep()теперь используются, если доступны. В Windows теперь используется ожидающий таймер.Изменено в версии 3.5: Функция теперь всегда ждёт как минимум secs даже при прерывании сигнала, за исключением случаев, когда обработчик сигнала генерирует исключение (см. PEP 475 для обоснования).
- Используйте
-
time.strftime(format[, t]) -
Преобразовать кортеж или
struct_time, представляющий время, возвращённое функциямиgmtime()илиlocaltime(), в строку, как указано в аргументе формат. Если t не указан, используется текущее время, возвращённоеlocaltime(). формат должен быть строкой.ValueErrorгенерируется, если какой-либо элемент в t выходит за допустимый диапазон.0 является допустимым аргументом для любой позиции в кортеже времени; если это обычно недопустимо, значение принудительно устанавливается к правильному.
В строке формат могут быть встроены следующие директивы. Они показаны без необязательной ширины поля и точности, и заменяются указанными символами в результате
strftime():Директива
Значение
Примечания
%aСокращённое имя дня недели в формате локали.
%AПолное имя дня недели в формате локали.
%bСокращённое имя месяца в формате локали.
%BПолное имя месяца в формате локали.
%cСоответствующее представленuе даты и времени в формате локали.
%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]. Все дни в новом году до первого воскресенья считаются неделей 0.
(3)
%wДень недели в виде десятичного числа [0 (воскресенье), 6].
%WНомер недели в году (понедельник — первый день недели) в виде десятичного числа [00,53]. Все дни в новом году до первого понедельника считаются неделей 0.
(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().Параметр формат использует те же директивы, что и
strftime(); он по умолчанию равен"%a %b %d %H:%M:%S %Y", что соответствует формату, возвращаемомуctime(). Если строку string нельзя разобрать в соответствии с форматом, или если после разбора есть избыточные данные, генерируетсяValueError. Значения по умолчанию, используемые для заполнения отсутствующих данных, когда более точные значения нельзя вывести, —(1900, 1, 1, 0, 0, 0, 0, 1, -1). И string, и формат должны быть строками.Например:
>>> 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_day
диапазон [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, из которого компоненты даты календаря могут быть доступны как атрибуты.Используйте
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(секунды по Гринвичу без учета летнего времени),altzone(секунды по Гринвичу с учетом летнего времени) и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 -
Часы CPU для потоков.
Доступность: 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()из этого модуля.
Примечания
-
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.11/library/time.html