time
— Доступ ко времени и преобразования¶
Цей модуль забезпечує різні функції, пов’язані з часом. Для пов’язаних функцій перегляньте також модулі datetime
і calendar
.
Хоча цей модуль завжди доступний, не всі функції доступні на всіх платформах. Більшість функцій, визначених у цьому модулі, викликають функції бібліотеки платформи C з однаковою назвою. Інколи може бути корисним ознайомитися з документацією платформи, оскільки семантика цих функцій відрізняється на різних платформах.
Доречно пояснення деяких термінів і умовностей.
epoch — это точка начала отсчета времени, возвращаемое значение
time.gmtime(0)
. Сейчас 1 января 1970 года, 00:00:00 (UTC) на всех платформах.
Термін seconds since the epoch відноситься до загальної кількості секунд, що минули з епохи, як правило, за винятком високосних секунд (leap seconds). Секунди високосного значення виключаються з цієї суми на всіх POSIX-сумісних платформах.
Функции в этом модуле могут не обрабатывать даты и время до epoch или далеко в будущем. Точка отсечения в будущем определяется библиотекой C; для 32-битных систем это обычно 2038 год.
Функція
strptime()
може аналізувати 2-значні роки, якщо надається код формату%y
. Коли 2-значні роки аналізуються, вони перетворюються відповідно до стандартів POSIX та ISO C: значення 69–99 відображаються на 1969–1999, а значення 0–68 – у 2000–2068.
UTC — это Всемирное координированное время, которое заменило Среднее время по Гринвичу или GMT в качестве основы международного хронометража. Аббревиатура UTC не является ошибкой, а соответствует более ранней, не зависящей от языка схеме наименования стандартов времени, таких как UT0, UT1 и UT2.
DST – це літній час, зміна часового поясу (зазвичай) на одну годину протягом частини року. Правила літнього часу є чарівними (визначаються місцевим законодавством) і можуть змінюватися з року в рік. Бібліотека C має таблицю, що містить локальні правила (часто її зчитують із системного файлу для гнучкості) і є єдиним джерелом справжньої мудрості в цьому відношенні.
Точність різних функцій реального часу може бути нижчою, ніж передбачається одиницями, у яких виражено їх значення або аргумент. наприклад у більшості систем Unix годинник „тикає” лише 50 або 100 разів на секунду.
С другой стороны, точность
time()
иsleep()
лучше, чем у их аналогов в Unix: время выражается числами с плавающей запятой,time()
возвращает наиболее точное время. доступен (используя Unixgettimeofday()
, где доступно), аsleep()
будет принимать время с ненулевой дробью (для реализации этого используется Unixselect()
, где доступный).Значення часу, що повертається
gmtime()
,localtime()
іstrptime()
і приймаєтьсяasctime()
,mktime()
іstrftime()
, є послідовністю з 9 цілих чисел. Повернуті значенняgmtime()
,localtime()
іstrptime()
також пропонують імена атрибутів для окремих полів.Перегляньте
struct_time
для опису цих об’єктів.Zmienione w wersji 3.3: Тип
struct_time
был расширен для предоставления атрибутовtm_gmtoff
иtm_zone
, когда платформа поддерживает соответствующие членыstruct tm
.Zmienione w wersji 3.6: Атрибуты
struct_time
tm_gmtoff
иtm_zone
теперь доступны на всех платформах.Використовуйте такі функції для перетворення між представленнями часу:
dari
Ke
Gunakan
секунд від епохи
struct_time
в UTCсекунд від епохи
struct_time
за місцевим часомstruct_time
в UTCсекунд від епохи
struct_time
за місцевим часомсекунд від епохи
Zadania¶
- time.asctime([t])¶
Перетворіть кортеж або
struct_time
, який представляє час, повернутийgmtime()
абоlocaltime()
, на рядок такої форми:'Sun Jun 20 23:21:05 1993'
. Поле дня складається з двох символів і доповнюється пробілом, якщо день складається з однієї цифри, наприклад:'Wed Jun 9 04:26:40 1993'
.Якщо t не вказано, використовується поточний час, який повертає
localtime()
. Інформація про мову не використовуєтьсяasctime()
.Informacja
На відміну від однойменної функції C,
asctime()
не додає кінцевий новий рядок.
- time.pthread_getcpuclockid(thread_id)¶
Повертає clk_id специфічного для потоку годинника ЦП для вказаного thread_id.
Використовуйте
threading.get_ident()
або атрибутident
об’єктівthreading.Thread
, щоб отримати відповідне значення для thread_id.Ostrzeżenie
Передача недійсного або простроченого thread_id може призвести до невизначеної поведінки, наприклад до помилки сегментації.
Dostępność: Unix
Дополнительную информацию смотрите на странице руководства pthread_getcpulockid(3).
Dodane w wersji 3.7.
- time.clock_getres(clk_id)¶
Повертає роздільну здатність (точність) указаного годинника clk_id. Перегляньте Константи ID годинника список допустимих значень для clk_id.
Dostępność: Unix.
Dodane w wersji 3.3.
- time.clock_gettime(clk_id) float ¶
Повертає час указаного годинника clk_id. Зверніться до Константи ID годинника для списку прийнятних значень для clk_id.
Використовуйте
clock_gettime_ns()
, щоб уникнути втрати точності, викликаної типомfloat
.Dostępność: Unix.
Dodane w wersji 3.3.
- time.clock_gettime_ns(clk_id) int ¶
Подібно до
clock_gettime()
, але повертає час у наносекундах.Dostępność: Unix.
Dodane w wersji 3.7.
- time.clock_settime(clk_id, time: float)¶
Встановіть час зазначеного годинника clk_id. Наразі
CLOCK_REALTIME
є єдиним прийнятним значенням для clk_id.Використовуйте
clock_settime_ns()
, щоб уникнути втрати точності, викликаної типомfloat
.Dostępność: Unix, not Android, not iOS.
Dodane w wersji 3.3.
- time.clock_settime_ns(clk_id, time: int)¶
Подібно до
clock_settime()
, але встановлює час у наносекундах.Dostępność: Unix, not Android, not iOS.
Dodane w wersji 3.7.
- time.ctime([secs])¶
Преобразуйте время, выраженное в секундах с момента epoch, в строку вида:
'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()
Результат має такі атрибути:
регульований:
True
, якщо годинник можна змінити автоматично (наприклад, демоном NTP) або вручну системним адміністратором,False
інакшереалізація: назва основної функції C, яка використовується для отримання значення тактової частоти. Зверніться до Константи ID годинника щодо можливих значень.
монотонний:
True
, якщо годинник не може повернутися назад,False
інакшеresolution: роздільна здатність годинника в секундах (
float
)
Dodane w wersji 3.3.
- time.gmtime([secs])¶
Преобразуйте время, выраженное в секундах, начиная с epoch, в
struct_time
в формате UTC, в котором флаг dst всегда равен нулю. Если secs не указано илиNone
, используется текущее время, возвращаемоеtime()
. Доли секунды игнорируются. См. выше описание объектаstruct_time
. См.calendar.timegm()
для обратной этой функции.
- time.localtime([secs])¶
Як
gmtime()
, але перетворює на місцевий час. Якщо secs не вказано абоNone
, використовується поточний час, який повертаєtime()
. Прапор DST встановлюється на1
, коли літній час застосовується до даного часу.localtime()
може викликатиOverflowError
, якщо позначка часу виходить за межі діапазону значень, які підтримують функціїlocaltime()
абоgmtime()
платформи, іOSError
під час помилкиlocaltime()
абоgmtime()
. Зазвичай це обмежується роками між 1970 і 2038 роками.
- time.mktime(t)¶
Это обратная функция
localtime()
. Его аргументом являетсяstruct_time
или полный девятикортеж (поскольку необходим флаг dst; используйте-1
в качестве флага dst, если он неизвестен), который выражает время в локальном времени, а не в УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ. Он возвращает число с плавающей запятой для совместимости с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).
Використовуйте
monotonic_ns()
, щоб уникнути втрати точності, викликаної типомfloat
.Dodane w wersji 3.3.
Zmienione w wersji 3.5: The function is now always available and the clock is now the same for all processes.
Zmienione w wersji 3.10: On macOS, the clock is now the same for all processes.
- time.monotonic_ns() int ¶
Подібно до
monotonic()
, але повертає час у наносекундах.Dodane w wersji 3.7.
- time.perf_counter() float ¶
Return the value (in fractional seconds) of a performance counter, i.e. a clock with the highest available resolution to measure a short duration. It does include time elapsed during sleep. The clock is the same for all processes. The reference point of the returned value is undefined, so that only the difference between the results of two calls is valid.
В CPython используйте те же часы, что и
time.monotonic()
, и это монотонные часы, то есть часы, которые не могут идти назад.Використовуйте
perf_counter_ns()
, щоб уникнути втрати точності, викликаної типомfloat
.Dodane w wersji 3.3.
Zmienione w wersji 3.10: On Windows, the clock is now the same for all processes.
Zmienione w wersji 3.13: Используйте те же часы, что и
time.monotonic()
.
- time.perf_counter_ns() int ¶
Подібно до
perf_counter()
, але повертає час у наносекундах.Dodane w wersji 3.7.
- time.process_time() float ¶
Повертає значення (у частках секунд) суми часу процесора системи та користувача поточного процесу. Він не включає час, що минув під час сну. За визначенням це стосується всього процесу. Точка відліку повернутого значення не визначена, тому дійсна лише різниця між результатами двох викликів.
Використовуйте
process_time_ns()
, щоб уникнути втрати точності, викликаної типомfloat
.Dodane w wersji 3.3.
- time.process_time_ns() int ¶
Подібно до
process_time()
, але повертає час у наносекундах.Dodane w wersji 3.7.
- time.sleep(secs)¶
Приостановить выполнение вызывающего потока на заданное количество секунд. Аргументом может быть число с плавающей запятой, указывающее более точное время сна.
Если спящий режим прерывается сигналом и обработчик сигнала не вызывает исключения, спящий режим перезапускается с перевычисленным тайм-аутом.
Время приостановки может быть дольше, чем запрошено на произвольную величину, из-за планирования другой активности в системе.
Windows реализация
В Windows, если secs равно нулю, поток передает оставшуюся часть своего интервала времени любому другому потоку, готовому к выполнению. Если других потоков, готовых к запуску, нет, функция немедленно завершает работу, и поток продолжает выполнение. В Windows 8.1 и более поздних версиях реализация использует таймер высокого разрешения, который обеспечивает разрешение 100 наносекунд. Если secs равно нулю, используется Sleep(0)``.
Unix реализация
Используйте clock_nanosleep(), если доступно (разрешение: 1 наносекунда);
Или используйте nanosleep(), если доступно (разрешение: 1 наносекунда);
Или используйте select() (разрешение: 1 микросекунда).
Informacja
Para emular um „no-op”, use
pass
em vez detime.sleep(0)
.Para abrir mão voluntariamente da CPU, especifique uma política de agendamento em tempo real e use
os.sched_yield()
em seu lugar.Вызывает событие аудита <auditing>``time.sleep`` с аргументом
secs
.Zmienione w wersji 3.5: Функція тепер перебуває в режимі сну принаймні секунд, навіть якщо сон переривається сигналом, за винятком випадків, коли обробник сигналу викликає виняток (перегляньте PEP 475 для обґрунтування).
Zmienione w wersji 3.11: В Unix теперь используются функции clock_nanosleep() и nanosleep(), если они доступны. В Windows теперь используется таймер ожидания.
Zmienione w wersji 3.13: Вызывает событие аудита.
- time.strftime(format[, t])¶
Перетворіть кортеж або
struct_time
, що представляє час, який повертаєgmtime()
абоlocaltime()
, на рядок, як зазначено в аргументі format. Якщо t не вказано, використовується поточний час, який повертаєlocaltime()
. format має бути рядком.ValueError
виникає, якщо будь-яке поле в t виходить за межі дозволеного діапазону.0 є допустимим аргументом для будь-якої позиції в часовому кортежі; якщо зазвичай це нелегально, значення примусово має бути правильним.
Наступні директиви можуть бути вбудовані в рядок format. Вони відображаються без додаткової специфікації ширини поля та точності та замінюються вказаними символами в результаті
strftime()
:Petunjuk
Znaczenie
Notatki
%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]. Усі дні в новому році, що передують першій неділі, вважаються нульовим тижнем.
(4)
%u
День недели (понедельник — 1; воскресенье — 7) в виде десятичного числа [1, 7].
%w
День тижня як десяткове число [0(неділя),6].
%W
Номер тижня року (понеділок як перший день тижня) у вигляді десяткового числа [00,53]. Усі дні в новому році, що передують першому понеділку, вважаються нульовим тижнем.
(4)
%x
Відповідне представлення дати в локалі.
%X
Відповідне представлення часу локалі.
%y
Рік без століття як десяткове число [00,99].
%Y
Рік із століттям як десяткове число.
%z
Зміщення часового поясу, що вказує на додатну або від’ємну різницю в часі від UTC/GMT у формі +ГГММ або -ГГММ, де H означає десяткові цифри години, а M – десяткові цифри хвилин [-23:59, +23:59]. [1]
%Z
Назва часового поясу (без символів, якщо часовий пояс не існує). Застаріле. [1]
%G
Год ISO 8601 (аналогично %Y, но соответствует правилам календарного года ISO 8601). Год начинается с недели, содержащей первый четверг календарного года.
%V
Номер недели ISO 8601 (в виде десятичного числа [01,53]). Первая неделя года — это та, которая содержит первый четверг года. Неделя начинается в понедельник.
%%
Буквальний символ
'%''
.Uwagi:
`` %f `` Директива формата применяется только к
strptime()
, а не кstrftime()
. Однако см. такжеdatetime.datetime.strptime()
иdatetime.datetime.strftime()
, где `` %f `` директива формата применяется к микросекундам.При використанні з функцією
strptime()
директива%p
впливає на поле вихідних годин, лише якщо директива%I
використовується для аналізу години.
Діапазон насправді становить від
0
до61
; значення60
є дійсним у мітках часу, що представляють високосні секунди (leap seconds), а значення61
підтримується з історичних причин.При використанні з функцією
strptime()
,%U
і%W
використовуються в обчисленнях лише тоді, коли вказано день тижня та рік.
Ось приклад формату дат, сумісного з указаним у стандарті електронної пошти Інтернету RFC 2822. [1]
>>> from time import gmtime, strftime >>> strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()) 'Thu, 28 Jun 2001 14:17:15 +0000'
Додаткові директиви можуть підтримуватися на певних платформах, але лише перелічені тут мають значення, стандартизовані ANSI C. Щоб побачити повний набір кодів формату, які підтримуються на вашій платформі, зверніться до документації strftime(3).
На деяких платформах необов’язкова ширина поля та специфікація точності можуть відразу слідувати за початковим
'%'
директиви в наступному порядку; це також не портативно. Ширина поля зазвичай дорівнює 2, за винятком%j
, де вона дорівнює 3.
- time.strptime(string[, format])¶
Проаналізуйте рядок, що представляє час, відповідно до формату. Поверненим значенням є
struct_time
, яке повертаєgmtime()
абоlocaltime()
.Параметр format використовує ті самі директиви, що й
strftime()
; за замовчуванням"%a %b %d %H:%M:%S %Y"
, що відповідає форматуванню, яке повертаєctime()
. Якщо рядок не може бути розібраний відповідно до формату, або якщо він має зайві дані після аналізу, виникаєValueError
. Значення за замовчуванням, які використовуються для заповнення будь-яких відсутніх даних, коли точніші значення неможливо отримати, це(1900, 1, 1, 0, 0, 0, 0, 1, -1)
. І string, і format мають бути рядками.Na przykład:
>>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)
Підтримка директиви
%Z
базується на значеннях, що містяться вtzname
, і тому, чиdaylight
є істинним. Через це він залежить від платформи, за винятком розпізнавання UTC і GMT, які завжди відомі (і вважаються не літніми часовими поясами).Підтримуються лише директиви, зазначені в документації. Оскільки
strftime()
реалізовано на кожній платформі, іноді він може пропонувати більше директив, ніж перераховано. Алеstrptime()
не залежить від будь-якої платформи і тому не обов’язково підтримує всі доступні директиви, які не задокументовані як підтримувані.
- class time.struct_time¶
Тип послідовності значень часу, яку повертають
gmtime()
,localtime()
іstrptime()
. Це об’єкт із інтерфейсом named tuple: доступ до значень можна отримати за індексом та назвою атрибута. Присутні такі значення:Indeks
atrybut
Nilai
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¶
range [0, 6]; Monday is 0
7
- tm_yday¶
діапазон [1, 366]
8
- tm_isdst¶
0, 1 або -1; Дивіться нижче
T/A
- tm_zone¶
абревіатура назви часового поясу
T/A
- tm_gmtoff¶
зміщення на схід від UTC у секундах
Зверніть увагу, що на відміну від структури C, значення місяця є діапазоном [1, 12], а не [0, 11].
У викликах
mktime()
tm_isdst
може бути встановлено на 1, коли літній час діє, і на 0, коли він не діє. Значення -1 вказує на те, що це невідомо, і зазвичай призводить до заповнення правильного стану.Коли кортеж із неправильною довжиною передається до функції, яка очікує
struct_time
, або містить елементи неправильного типу, виникаєTypeError
.
- time.time() float ¶
Возвращает время в секундах с момента epoch как число с плавающей запятой. Обработка дополнительных секунд зависит от платформы. В Windows и большинстве систем Unix високосные секунды не учитываются при расчете времени в секундах, начиная с epoch. Обычно это называют Unix-временем.
Обратите внимание: хотя время всегда возвращается в виде числа с плавающей запятой, не все системы предоставляют время с точностью выше 1 секунды. Хотя эта функция обычно возвращает неубывающие значения, она может возвращать более низкое значение, чем предыдущий вызов, если системные часы были установлены обратно между двумя вызовами.
Число, яке повертає
time()
, можна перетворити на більш поширений формат часу (тобто рік, місяць, день, година тощо) у UTC, передавши його функціїgmtime()
або в місцевий час, передавши його функціїlocaltime()
. В обох випадках повертається об’єктstruct_time
, з якого можна отримати доступ до компонентів календарної дати як атрибутів.Часы:
No Windows, chama
GetSystemTimePreciseAsFileTime()
.Вызовите clock_gettime(CLOCK_REALTIME), если доступно.
В противном случае вызовите gettimeofday().
Використовуйте
time_ns()
, щоб уникнути втрати точності, викликаної типомfloat
.
Zmienione w wersji 3.13: No Windows, chama GetSystemTimePreciseAsFileTime()
em vez de GetSystemTimeAsFileTime()
.
- time.time_ns() int ¶
Подібно до
time()
, але повертає час як ціле число наносекунд з епохи.Dodane w wersji 3.7.
- time.thread_time() float ¶
Повертає значення (у частках секунд) суми часу процесора системи та користувача поточного потоку. Він не включає час, що минув під час сну. За визначенням це залежить від потоку. Точка відліку поверненого значення не визначена, тому дійсна лише різниця між результатами двох викликів в одному потоці.
Використовуйте
thread_time_ns()
, щоб уникнути втрати точності, викликаної типомfloat
.Dostępność: Linux, Unix, Windows.
Системы Unix, поддерживающие CLOCK_THREAD_CPUTIME_ID.
Dodane w wersji 3.7.
- time.thread_time_ns() int ¶
Подібно до
thread_time()
, але повертає час у наносекундах.Dodane w wersji 3.7.
- time.tzset()¶
Скинути правила перетворення часу, які використовуються підпрограмами бібліотеки. Змінна середовища
TZ
визначає, як це робиться. Він також встановить змінніtzname
(зі змінної середовищаTZ
),timezone
(не літній час, секунди на захід від UTC),altzone
(літній час, секунди на захід від UTC ) іdaylight
(до 0, якщо цей часовий пояс не має правил переходу на літній час, або до відмінного від нуля, якщо існує час, минулий, теперішній або майбутній, коли застосовується літній час).Dostępność: Unix.
Informacja
Хоча в багатьох випадках зміна змінної середовища
TZ
може вплинути на вихід таких функцій, якlocaltime()
без викликуtzset()
, не слід покладатися на таку поведінку.Змінна середовища
TZ
не повинна містити пробілів.Стандартний формат змінної середовища
TZ
такий (для ясності додано пробіли):std offset [dst [offset [,start[/time], end[/time]]]]
Де компоненти:
std
іdst
Три або більше алфавітно-цифрових абревіатур часового поясу. Вони будуть поширені у time.tzname
offset
Зміщення має вигляд:
± hh[:mm[:ss]]
. Це вказує на додане значення місцевого часу для прибуття до UTC. Якщо перед ним стоїть „-”, часовий пояс розташований на схід від початкового меридіана; інакше це захід. Якщо після літнього часу немає зміщення, вважається, що літній час на одну годину випереджає стандартний час.start[/time], end[/time]
Вказує, коли переходити на літній час і повертатися з нього. Початкова та кінцева дати мають один із наведених нижче форматів.
Jn
Юліанський день n (1 <= n <= 365). Високосні дні не враховуються, тому в усіх роках 28 лютого — це 59 день, а 1 березня — 60 день.
n
Юліанський день від нуля (0 <= n <= 365). Високосні дні враховуються, і можна відноситися до 29 лютого.
Mm.n.d
d»-й день (0 <= d <= 6) тижня n місяця m року (1 <= n <= 5, 1 <= m <= 12, де тиждень 5 означає „останній d день місяця m”, який може відбуватися як на четвертому, так і на п’ятому тижні). Тиждень 1 – це перший тиждень, на якому настає d-й день. Нульовий день - неділя.
час
має той самий формат, щозсув
, за винятком того, що не допускається початок знака («-» або «+»). За умовчанням, якщо час не вказано, це 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
. Наприклад, „США/Схід”, „Австралія/Мельбурн”, „Єгипет” або „Європа/Амстердам”.>>> os.environ['TZ'] = 'US/Eastern' >>> time.tzset() >>> time.tzname ('EST', 'EDT') >>> os.environ['TZ'] = 'Egypt' >>> time.tzset() >>> time.tzname ('EET', 'EEST')
Константи ID годинника¶
Ці константи використовуються як параметри для clock_getres()
і clock_gettime()
.
- time.CLOCK_BOOTTIME¶
Ідентичний
CLOCK_MONOTONIC
, за винятком того, що він також включає будь-який час призупинення системи.Це дозволяє програмам отримувати монотонний годинник з підтримкою призупинення без необхідності мати справу з ускладненнями
CLOCK_REALTIME
, які можуть мати розриви, якщо час змінюється за допомогоюsettimeofday()
або подібного.Dostępność: Linux >= 2.6.39.
Dodane w wersji 3.7.
- time.CLOCK_HIGHRES¶
ОС Solaris має таймер
CLOCK_HIGHRES
, який намагається використовувати оптимальне апаратне джерело та може давати роздільну здатність, близьку до наносекунд.CLOCK_HIGHRES
- це нерегульований годинник з високою роздільною здатністю.Dostępność: Solaris.
Dodane w wersji 3.3.
- time.CLOCK_MONOTONIC¶
Годинник, який не можна налаштувати та відображає монотонний час із деякої невизначеної початкової точки.
Dostępność: Unix.
Dodane w wersji 3.3.
- time.CLOCK_MONOTONIC_RAW¶
Подібно до
CLOCK_MONOTONIC
, але надає доступ до необробленого апаратного часу, який не підлягає коригуванням NTP.Dostępność: Linux >= 2.6.28, macOS >= 10.12.
Dodane w wersji 3.3.
- time.CLOCK_MONOTONIC_RAW_APPROX¶
Аналогично
CLOCK_MONOTONIC_RAW
, но считывает значение, кэшированное системой при переключении контекста, и, следовательно, имеет меньшую точность.Dostępność: macOS >= 10.12.
Dodane w wersji 3.13.
- time.CLOCK_PROCESS_CPUTIME_ID¶
Таймер високої роздільної здатності для кожного процесу від ЦП.
Dostępność: Unix.
Dodane w wersji 3.3.
- time.CLOCK_PROF¶
Таймер високої роздільної здатності для кожного процесу від ЦП.
Dostępność: FreeBSD, NetBSD >= 7, OpenBSD.
Dodane w wersji 3.7.
- time.CLOCK_TAI¶
-
Система повинна мати поточну таблицю високосних секунд, щоб це дало правильну відповідь. Програмне забезпечення PTP або NTP може підтримувати таблицю високосної секунди.
Dostępność: Linux.
Dodane w wersji 3.9.
- time.CLOCK_THREAD_CPUTIME_ID¶
Годинник процесорного часу, що залежить від потоку.
Dostępność: Unix.
Dodane w wersji 3.3.
- time.CLOCK_UPTIME¶
Час, абсолютне значення якого — це час роботи системи без призупинення, що забезпечує точне вимірювання часу безвідмовної роботи, як абсолютного, так і інтервального.
Dostępność: FreeBSD, OpenBSD >= 5.5.
Dodane w wersji 3.7.
- time.CLOCK_UPTIME_RAW¶
Годинник, який монотонно збільшується, відстежує час з довільної точки, не залежить від коригування частоти чи часу та не збільшується, коли система сплячої системи.
Dostępność: macOS >= 10.12.
Dodane w wersji 3.8.
- time.CLOCK_UPTIME_RAW_APPROX¶
Подобно
CLOCK_UPTIME_RAW
, но значение кэшируется системой при переключении контекста и, следовательно, имеет меньшую точность.Dostępność: macOS >= 10.12.
Dodane w wersji 3.13.
Наступна константа є єдиним параметром, який можна надіслати до clock_settime()
.
- time.CLOCK_REALTIME¶
Real-time clock. Setting this clock requires appropriate privileges. The clock is the same for all processes.
Dostępność: Unix.
Dodane w wersji 3.3.
Константи часового поясу¶
- time.altzone¶
Зсув місцевого часового поясу літнього часу в секундах на захід від UTC, якщо такий визначено. Це негативно, якщо місцевий часовий пояс на літній час знаходиться на схід від UTC (як у Західній Європі, включаючи Великобританію). Використовуйте це, лише якщо
денне світло
не дорівнює нулю. Див. примітку нижче.
- time.daylight¶
Ненульове значення, якщо визначено часовий пояс літнього часу. Див. примітку нижче.
- time.timezone¶
Зсув місцевого (не літнього) часового поясу в секундах на захід від UTC (негативний у більшості країн Західної Європи, додатний у США, нуль у Великобританії). Див. примітку нижче.
- time.tzname¶
Кортеж із двох рядків: перший — це назва місцевого часового поясу, який не працює на літній час, а другий — це назва місцевого часового поясу. Якщо часовий пояс літнього часу не визначено, другий рядок не слід використовувати. Див. примітку нижче.
Informacja
Для вышеуказанных констант часового пояса (altzone
, daylight
, timezone
и tzname
) значение определяется правилами часового пояса, действующими во время загрузки модуля. или время последнего вызова tzset()
и может быть неверным в прошлом. Рекомендуется использовать результаты tm_gmtoff
и tm_zone
из localtime()
для получения информации о часовом поясе.
Zobacz także
- Modul
datetime
Більш об’єктно-орієнтований інтерфейс для дат і часу.
- Modul
locale
Послуги інтернаціоналізації. Параметр локалі впливає на інтерпретацію багатьох специфікаторів формату в
strftime()
іstrptime()
.- Modul
calendar
Загальні функції, пов’язані з календарем.
timegm()
є зворотним доgmtime()
з цього модуля.
Przypisy