Какая библиотека отвечает за время python

  • автор:

Модуль time в Python, реальное время ОС.

Модуль time предоставляет доступ к нескольким различным типам часов, каждый из которых используется для разных целей:

  • Стандартные системные вызовы типа time.time() сообщают системное время в секундах с начала "эпохи".
  • Монотонные часы time.monotonic() можно использовать для измерения прошедшего времени в каком то длительном процессе, т.к. функция не зависит от настроек системного времени и гарантирует, что никогда не передвинется назад, даже если системное время изменилось.
  • Для тестирования производительности модуль предоставляет доступ к часам с максимально высоким разрешением time.perf_counter() , чтобы сделать измерения короткого времени более точными.
  • Функция time.process_time() возвращает объединенное время процессора и системное время.

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

Объяснение некоторых терминов и соглашений:

  • Эпоха — это точка начала времени, которая зависит от платформы. Для Unix эпоха — 1 января 1970 года, 00:00:00 (UTC). Чтобы узнать, какова эпоха на данной платформе, посмотрите time.gmtime(0) .
  • Термин "секунды с начала эпохи" относится к общему количеству прошедших секунд с начала эпохи, обычно не включая високосные секунды. Дополнительные секунды исключаются из этой суммы на всех POSIX-совместимых платформах.
  • Функции в этом модуле могут не обрабатывать даты и время до эпохи или в далеком будущем. Точка отсечения в будущем определяется библиотекой языка C. Для 32-битных систем это обычно 2038 год.
  • Функция time.strptime() может анализировать годы записанные в двухзначном формате, если задан код формата % . Когда анализируются двухзначные годы, они конвертируются в соответствии со стандартами POSIX и ISO: значения 69–99 будут отображаться как 1969–1999, а значения 0–68 отображаются как 2000–2068.
  • UTC — Всемирное координированное время, ранее известное как среднее время по Гринвичу или GMT. Аббревиатура UTC — не ошибка, а компромисс между английским и французским языками.
  • Летнее время — это настройка часового пояса, обычно на один час в течение части года. Правила летнего времени магические и определяются местным законодательством, могут меняться из года в год. Библиотека языка C имеет таблицу, содержащую локальные правила, часто для гибкости она читается из системного файла и является единственным источником в этом отношении.
  • Точность различных функций реального времени может быть меньше, чем предлагается единицами, в которых выражается их значение или аргумент. Например на большинстве систем Unix такт часов составляет от 50 до 100 раз в секунду.
  • С другой стороны, точность time.time() и time.sleep() лучше, чем их Unix-эквиваленты: время выражается в виде чисел с плавающей запятой, time.time() возвращает наиболее точное доступное время, а time.sleep() будет принимать время с ненулевой дробью.
  • Значение времени, возвращаемое time.gmtime() , time.localtime() и time.strptime() и принимаемое time.asctime() , time.mktime() и time.strftime() представляет собой последовательность из 9 целых чисел. Возвращаемые значения time.gmtime() , time.localtime() и time.strptime() также предлагают имена атрибутов для отдельных полей.

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

Из формата В формат Функция
Секунды эпохи time.struct_time в UTC time.gmtime()
Секунды эпохи time.struct_time в местном времени time.localtime()
time.struct_time в UTC Секунды эпохи calendar.timegm()
time.struct_time в местном времени Секунды эпохи time.mktime()
Примеры использования:

Для получения дополнительной информации смотрите также модули datetime и calendar .

Модуль time в Python

В Python есть модуль time , который используется для решения задач, связанных со временем. Для использования определенных в нем функций необходимо сначала его импортировать:

Дальше перечислены самые распространенные функции, связанные со временем.

Python time.time()

Функция time() возвращает число секунд, прошедших с начала эпохи. Для операционных систем Unix 1 января 1970, 00:00:00 (UTC) — начало эпохи (момент, с которого время пошло).

Python time.ctime()

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

Если запустить программу, то вывод будет выглядеть так:

Python time.sleep()

Функция sleep() откладывает исполнение текущего потока на данное количество секунд.

Прежде чем переходить к другим функциям, связанных со временем, нужно вкратце разобраться с классом time.struct_time .

Класс time.struct_time

Некоторые функции в модуле time , такие как gmtime() , asctime() и другие, принимают объект time.struct_time в качестве аргумента или возвращают его.

Вот пример объекта time.struct_time .

Индекс Атрибут Значения
0 tm_year 0000, …, 2019, …, 9999
1 tm_mon 1, 2, …, 12
2 tm_mday 1, 2, …, 31
3 tm_hour 0, 1, …, 23
4 tm_min 0, 1, …, 59
5 tm_sec 0, 1, …, 61
6 tm_wday 0, 1, …, 6; Monday is 0
7 tm_yday 1, 2, …, 366
8 tm_isdst 0, 1 or -1

К значениям (элементам) объекта time.struct_time доступ можно получить как с помощью индексов, так и через атрибуты.

Python time.localtime()

Функция localtime() принимает в качестве аргумента количество секунд, прошедших с начала эпохи, и возвращает stuct_time в локальном времени.

Вывод этой программы будет следующим:

Если localtime() передан аргумент None , то вернется значение из time() .

Python time.gmtime()

Функция gmtime() принимает в качестве аргумента количество секунд, прошедших с начала эпохи и возвращает struct_time в UTC.

Вывод этой программы будет следующим:

Если gmtime() передан аргумент None , то вернется значение time() .

Python time.mktime()

Функция mktime() принимает struct_time (или кортеж, содержащий 9 значений, относящихся к struct_time ) в качестве аргумента и возвращает количество секунд, прошедших с начала эпохи, в местном времени. Это функция, обратная localtime() .

Следующий пример показывает, как связаны mktime() и localtime() .

Вывод будет следующий:

Python time.asctime()

Функция asctime() принимает struct_time (или кортеж, содержащий 9 значений, относящихся к struct_time ) в качестве аргумента и возвращает строку, представляющую собой дату.

Python time.strftime()

Функция strftime принимает stuct_time (или соответствующий кортеж) в качестве аргумента и возвращает строку с датой в зависимости от использованного формата. Например:

Вывод будет следующий:

Здесь %Y , %m , %d , %H и другие — элементы форматирования.

  • %Y — год [0001,…, 2019, 2020,…, 9999]
  • %m — месяц [01, 02, …, 11, 12]
  • %d — день [01, 02, …, 30, 31]
  • %H — час [00, 01, …, 22, 23
  • %M — минута [00, 01, …, 58, 59]
  • %S — секунда [00, 01, …, 58, 61]

Python time.strptime()

Функция strptime() делает разбор строки python, в которой упоминается время и возвращает struct_time .

Работа с модулем времени(time) в Python

модуль времени

Модуль времени Python предоставляет нам различные функции для внедрения системного времени в наше приложение с помощью сценариев.

Чтобы начать работу с модулем времени, нам нужно импортировать его в наш скрипт python, используя следующую инструкцию:

При выполнении операций с данными, относящимися к метке времени, необходимо иметь отправную точку, с которой мы можем начать выполнять операции с ними.

Эпоха — это начальная точка времени, от которой следует отсчитывать время.

Функции модуля времени Python

Модуль времени Python предлагает хороший набор функций для работы с отметкой времени.

Ниже приведены наиболее часто используемые функции:

  • time.time()
  • time.sleep()
  • time.ctime()
  • time.localtime()
  • time.mktime()
  • time.gmtime()
  • time.strptime()
  • time.strftime()
  • time.asctime()

1 метод time.time()

В модуле времени Python есть метод time.time() который дает секунды текущего местного времени.

2 метод time.sleep()

Метод time.sleep() обеспечивает интервал времени или задержку между выполнением текущих процессов или потоков.

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

3 метод time.localtime()

Модуль времени Python содержит класс struct_time, доступ к которому можно получить с помощью различных функций. Это помогает нам получить доступ к различным полям местной метки времени, таким как год, час, секунды и т. д.

Класс struct_time состоит из следующих атрибутов:

  • tm_year: возвращает год по местному времени.
  • tm_hour: возвращает час конкретного местного времени.
  • tm_min: возвращает значение минут определенного местного времени.
  • tm_sec: возвращает значение секунд определенного местного времени.
  • tm_mon: возвращает месяц по местному времени.
  • tm_mday: возвращает дату месяца по местному времени.
  • tm_wday: возвращает значение дней недели, т.е. с 0 понедельника по 6 воскресенье.
  • tm_yday: возвращает номер конкретного дня в диапазоне от 1 до 366.

Функция time.localtime() запускает функцию time.time() в серверной части и возвращает детали текущего времени в формате класса struct_time по местному времени.

Мы также можем передать количество секунд с начала эпохи в качестве аргумента функции.

4 метод time.ctime()

Метод time.ctime() принимает значение секунд с начала или результат функции time() в качестве аргумента и возвращает строковое значение, представляющее текущее местное время.

5 Метод time.mktime()

Метод time.mktime() является обратным методу time.localtime().

Он принимает struct_time (все кортежи класса struct_time) в качестве аргумента и возвращает время в секундах, которое прошло с начала.

В приведенном выше примере мы использовали метод locatime() для получения кортежей класса struct_time и передали его методу mktime().

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *