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.

  • DST – це літній час, зміна часового поясу (зазвичай) на одну годину протягом частини року. Правила літнього часу є чарівними (визначаються місцевим законодавством) і можуть змінюватися з року в рік. Бібліотека C має таблицю, що містить локальні правила (часто її зчитують із системного файлу для гнучкості) і є єдиним джерелом справжньої мудрості в цьому відношенні.

  • Точність різних функцій реального часу може бути нижчою, ніж передбачається одиницями, у яких виражено їх значення або аргумент. наприклад у більшості систем Unix годинник „тикає” лише 50 або 100 разів на секунду.

  • С другой стороны, точность time() и sleep() лучше, чем у их аналогов в Unix: время выражается числами с плавающей запятой, time() возвращает наиболее точное время. доступен (используя Unix gettimeofday(), где доступно), а sleep() будет принимать время с ненулевой дробью (для реализации этого используется Unix select(), где доступный).

  • Значення часу, що повертається 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

    gmtime()

    секунд від епохи

    struct_time за місцевим часом

    localtime()

    struct_time в UTC

    секунд від епохи

    calendar.timegm()

    struct_time за місцевим часом

    секунд від епохи

    mktime()

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)

Отримати інформацію про вказаний годинник як об’єкт простору імен. Підтримувані назви годинника та відповідні функції для читання їх значення:

Результат має такі атрибути:

  • регульований: 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 de time.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:

  1. `` %f `` Директива формата применяется только к strptime(), а не к strftime(). Однако см. также datetime.datetime.strptime() и datetime.datetime.strftime(), где `` %f `` директива формата применяется к микросекундам.

  2. При використанні з функцією strptime() директива %p впливає на поле вихідних годин, лише якщо директива %I використовується для аналізу години.

  1. Діапазон насправді становить від 0 до 61; значення 60 є дійсним у мітках часу, що представляють високосні секунди (leap seconds), а значення 61 підтримується з історичних причин.

  2. При використанні з функцією 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

International Atomic Time

Система повинна мати поточну таблицю високосних секунд, щоб це дало правильну відповідь. Програмне забезпечення 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