Spec-Zone.ru › Python 3.7

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() возвращает наиболее точное доступное время (используя Unix gettimeofday() там, где это возможно), и sleep() примет время с ненулевой дробной частью (Unix select() используется для реализации этого, где это возможно).
  • Значение времени, возвращаемое 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_time tm_gmtoff и tm_zone теперь доступны на всех платформах.

  • Используйте следующие функции для преобразования между представлениями времени:

    Из

    В

    Используйте

    секунды с эпохи

    struct_time в UTC

    gmtime()

    секунды с эпохи

    struct_time в локальном времени

    localtime()

    struct_time в UTC

    секунды с эпохи

    calendar.timegm()

    struct_time в локальном времени

    секунды с эпохи

    mktime()

Функции

time.asctime([t])

Преобразовать кортеж или struct_time, представляющий время, возвращённое gmtime() или localtime(), в строку следующего формата: 'Sun Jun 20 23:21:05 1993'. Если t не предоставлен, используется текущее время, возвращённое localtime(). Информация о локали не используется функцией asctime().

Примечание

В отличие от функции C с тем же именем, asctime() не добавляет заключительной новой строки.

time.clock()

В Unix возвращает текущее время процессора как число с плавающей точкой, выраженное в секундах. Точность, а фактически и само определение значения «времени процессора», зависит от функции C с тем же именем.

В Windows эта функция возвращает время реальных часов, прошедшее с момента первого вызова этой функции, как число с плавающей точкой, на основе функции Win32 QueryPerformanceCounter(). Разрешение обычно лучше одной микросекунды.

Устарело начиная с версии 3.3, будет удалено в версии 3.8: Поведение этой функции зависит от платформы: вместо неё используйте perf_counter() или process_time() в зависимости от ваших требований, чтобы получить чётко определённое поведение.

time.pthread_getcpuclockid(thread_id)

Возвращает clk_id таймера времени процессора потокоспецифического для указанного thread_id.

Используйте threading.get_ident() или атрибут ident объектов threading.Thread для получения подходящего значения для thread_id.

Предупреждение

Передача недопустимого или истекшего thread_id может привести к неопределённому поведению, такому как сбой сегментации.

Доступность: Unix (см. страницу справки для pthread_getcpuclockid(3) для получения дополнительной информации).

Новая в версии 3.7.

time.clock_getres(clk_id)

Возвращает разрешение (точность) указанного таймера clk_id. Обратитесь к Константы идентификаторов часов для получения списка допустимых значений для clk_id.

Доступность: Unix.

Новая в версии 3.3.

END_OF_DOCUMENT_MARKER
time.clock_gettime(clk_id) → float

Возвращает время указанного таймера clk_id. Список допустимых значений для clk_id см. в Константы идентификаторов таймеров.

Доступность: 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.

Доступность: Unix.

Новая в версии 3.3.

time.clock_settime_ns(clk_id, time: int)

Аналогично clock_settime(), но устанавливает время в наносекундах.

Доступность: Unix.

Новая в версии 3.7.

time.ctime([secs])

Преобразует время, выраженное в секундах с начала эпохи, в строку, представляющую местное время. Если secs не указано или равно None, используется текущее время, возвращаемое функцией time(). ctime(secs) эквивалентно asctime(localtime(secs)). Информация о локали не используется функцией ctime().

time.get_clock_info(name)

Получает информацию об указанном таймере в виде объекта именованного пространства. Поддерживаемые имена таймеров и соответствующие функции для чтения их значений:

  • 'clock': time.clock()
  • '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 применим к данному времени.

time.mktime(t)

Это обратная функция к localtime(). Ее аргумент — объект struct_time или 9-кортеж (так как нужен флаг dst; используйте -1 как флаг dst, если он неизвестен), который выражает время в местном времени, а не UTC. Она возвращает число с плавающей точкой, для совместимости с time(). Если входное значение не может быть представлено как действительное время, будет возбуждено исключение OverflowError или ValueError (зависит от того, поймано ли невалидное значение Python или базовыми C-библиотеками). Наиболе ранняя дата, для которой она может сгенерировать время, зависит от платформы.

time.monotonic() → float

Возвращает значение (в долях секунды) монотонного таймера, то есть таймера, который не может идти назад. Таймер не зависит от обновлений системного времени. Точка отсчёта возвращаемого значения не определена, поэтому допустимо только сравнивать разницу между результатами последовательных вызовов.

Новая в версии 3.3.

Изменено в версии 3.5: Функция теперь всегда доступна и всегда работает на уровне всей системы.

time.monotonic_ns() → int

Аналогично monotonic(), но возвращает время в наносекундах.

Новая в версии 3.7.

time.perf_counter() → float

Возвращает значение (в долях секунды) счётчика производительности, то есть таймера с наибольшим доступным разрешением для измерения коротких промежутков времени. Он учитывает время, затраченное во время сна, и работает на уровне всей системы. Точка отсчёта возвращаемого значения не определена, поэтому допустимо только сравнивать разницу между результатами последовательных вызовов.

Новая в версии 3.3.

time.perf_counter_ns() → int

Аналогично perf_counter(), но возвращает время в наносекундах.

Новая в версии 3.7.

time.process_time() → 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]. Все дни в новом году, предшествующие первому воскресенью, считаются неделей 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].

%Z

Имя часового пояса (никаких символов, если часовой пояс не существует).

%%

Литеральный символ '%'.

Примечания:

  1. При использовании с функцией strptime(), директива %p влияет только на поле часа вывода, если используется директива %I для разбора часа.
  2. Диапазон фактически составляет 0 до 61; значение 60 допустимо в отметках времени, представляющих лишние секунды, а значение 61 поддерживается по историческим причинам.
  3. При использовании с функцией 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_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-систем эпоха — 1 января 1970 года, 00:00:00 (UTC), а високосные секунды не учитываются при подсчёте времени с момента эпохи. Это обычно называется временем Unix. Чтобы узнать, какой эпохой пользуется данная платформа, см. gmtime(0).

Обратите внимание, что, хотя время всегда возвращается как число с плавающей точкой, не все системы обеспечивают точность выше 1 секунды. Хотя эта функция обычно возвращает значения, не убывающие по величине, она может вернуть значение, меньшее, чем при предыдущем вызове, если системные часы были переведены назад между этими вызовами.

Число, возвращаемое функцией time(), можно преобразовать в более распространённый формат времени (т. е. год, месяц, день, час и т. д.) в UTC, передав его функции gmtime(), или в местное время, передав его функции localtime(). В обоих случаях возвращается объект struct_time, из которого компоненты календарной даты могут быть получены как атрибуты.

time.thread_time() → float

Возвращает значение (в долях секунды) суммы системного и пользовательского процессорного времени текущей нити. Оно не включает время, затраченное на ожидание. Оно по определению специфично для потока. Точка отсчёта возвращаемого значения не определена, поэтому только разность результатов последовательных вызовов в одном потоке является корректной.

Доступность: Windows, Linux, Unix-системы, поддерживающие CLOCK_THREAD_CPUTIME_ID.

Новая в версии 3.7.

time.thread_time_ns() → int

Аналогично thread_time(), но возвращает время в наносекундах.

Новая в версии 3.7.

time.time_ns() → int

Аналогично time(), но возвращает время как целое число наносекунд с момента эпохи.

Новая в версии 3.7.

time.tzset()

Сбросить правила преобразования времени, используемые библиотечными функциями. Переменная среды TZ определяет, как это делается. Она также установит переменные tzname (из переменной среды TZ), timezone (количество секунд до UTC без летнего времени), altzone (количество секунд до UTC с летним временем) и daylight (в 0, если в этом часовом поясе нет правил перехода на летнее время, или в ненулевое значение, если существует время в прошлом, настоящем или будущем, когда применяется летнее время).

Доступность: Unix.

Примечание

Хотя во многих случаях изменение переменной среды TZ может влиять на вывод функций, таких как localtime(), без вызова tzset(), на это не следует полагаться.

Переменная среды TZ не должна содержать пробелов.

Стандартный формат переменной среды TZ (пробелы добавлены для наглядности):

std offset [dst [offset [,start[/time], end[/time]]]]

Где компоненты:

std and dst

Три или более буквенно-цифровых символов, представляющих сокращения часового пояса. Они будут перенесены в time.tzname

offset

Смещение имеет вид: ± hh[:mm[:ss]]. Это указывает на значение, добавляемое к местному времени для получения UTC. Если ему предшествует ‘-‘, часовой пояс расположен к востоку от Гринвича; в противном случае — к западу. Если после dst нет смещения, предполагается, что летнее время опережает стандартное на один час.

start[/time], end[/time]

Указывает, когда переходить на летнее и обратно. Формат дат начала и окончания — один из следующих:

Jn

Юлианский день n (1 <= n <= 365). Високосные дни не учитываются, поэтому во всех годах 28 февраля — день 59, а 1 марта — день 60.

n

Юлианский день с нулевым началом (0 <= n <= 365). Високосные дни учитываются, и можно сослаться на 29 февраля.

Mm.n.d

d-й день (0 <= d <= 6) недели n месяца m года (1 <= n <= 5, 1 <= m <= 12, где неделя 5 означает «последний d-й день месяца m», который может приходиться на четвёртую или пятую неделю). Неделя 1 — это первая неделя, в которой встречается d-й день. Ноль — это воскресенье.

time имеет тот же формат, что и offset, за исключением того, что не допускается ведущий знак (‘-‘ или ‘+’). Если время не указано, по умолчанию используется 02:00:00.

>>> os.environ['TZ'] = 'EST+05EDT,M4.1.0,M10.5.0'
>>> time.tzset()
>>> time.strftime('%X %x %Z')
'02:07:36 05/08/03 EDT'
>>> os.environ['TZ'] = 'AEST-10AEDT-11,M10.5.0,M3.5.0'
>>> time.tzset()
>>> time.strftime('%X %x %Z')
'16:08:12 05/08/03 AEST'

Во многих Unix-системах (включая *BSD, Linux, Solaris и Darwin) удобнее использовать базу данных 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_THREAD_CPUTIME_ID

Часы процессорного времени, специфичные для потока.

Доступность: Unix.

Новая в версии 3.3.

END_OF_DOCUMENT_MARKER
time.CLOCK_UPTIME

Время, модуль которого представляет время работы системы без приостановок, обеспечивая точное измерение времени работы, как абсолютное, так и интервальное.

Доступность: FreeBSD, OpenBSD 5.5 или более поздние версии.

Введено в версии 3.7.

Следующая константа — единственный параметр, который можно передать в 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() для получения информации о часовом поясе.

См. также

Module datetime

Более объектно-ориентированный интерфейс для дат и времени.

Module locale

Международные сервисы. Параметры локали влияют на интерпретацию многих спецификаторов формата в strftime() и strptime().

Module calendar

Общие функции, связанные с календарём. timegm() — это обратная функция для gmtime() из данного модуля.

Примечания

1

Использование %Z устарело, но %z escape, расширяющийся до предпочтительного смещения часов/минут, не поддерживается всеми библиотеками ANSI C. Кроме того, строгое прочтение оригинального стандарта RFC 822 1982 года требует двухзначного года (%y вместо %Y), но на практике перешли к четырёхзначным годам задолго до 2000 года. После этого RFC 822 устарел, и четырёхзначный год был сначала рекомендован RFC 1123, а затем предписан RFC 2822.

© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.7/library/time.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API