Какая библиотека отвечает за время python
Перейти к содержимому

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

  • автор:

Модуль time

Python 3 логотип

time.altzone — смещение DST часового пояса в секундах к западу от нулевого меридиана. Если часовой пояс находится восточнее, смещение отрицательно.

time.asctime([t]) — преобразовывает кортеж или struct_time в строку вида «Thu Sep 27 16:42:37 2012». Если аргумент не указан, используется текущее время.

time.clock() — в Unix, возвращает текущее время. В Windows, возвращает время, прошедшее с момента первого вызова данной функции.

time.ctime([сек]) — преобразует время, выраженное в секундах с начала эпохи в строку вида «Thu Sep 27 16:42:37 2012».

time.daylight — не 0, если определено, зимнее время или летнее (DST).

time.gmtime([сек]) — преобразует время, выраженное в секундах с начала эпохи в struct_time, где DST флаг всегда равен нулю.

time.localtime([сек]) — как gmtime, но с DST флагом.

time.mktime(t) — преобразует кортеж или struct_time в число секунд с начала эпохи. Обратна функции time.localtime.

time.sleep(сек) — приостановить выполнение программы на заданное количество секунд.

time.strftime(формат, [t]) — преобразует кортеж или struct_time в строку по формату:

Формат Значение
%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 До полудня или после (при 12-часовом формате)
%S Число секунд [00,61]
%U Номер недели в году (нулевая неделя начинается с воскресенья) [00,53]
%w Номер дня недели [0(Sunday),6]
%W Номер недели в году (нулевая неделя начинается с понедельника) [00,53]
%x Дата
%X Время
%y Год без века [00,99]
%Y Год с веком
%Z Временная зона
%% Знак ‘%’

time.strptime(строка [, формат]) — разбор строки, представляющей время в соответствии с форматом. Возвращаемое значение struct_time. Формат по умолчанию: «%a %b %d %H:%M:%S %Y».

Класс time.struct_time — тип последовательности значения времени. Имеет интерфейс кортежа. Можно обращаться по индексу или по имени.

  1. tm_year
  2. tm_mon
  3. tm_mday
  4. tm_hour
  5. tm_min
  6. tm_sec
  7. tm_wday
  8. tm_yday
  9. tm_isdst

time.time() — время, выраженное в секундах с начала эпохи.

time.timezone — смещение местного часового пояса в секундах к западу от нулевого меридиана. Если часовой пояс находится восточнее, смещение отрицательно.

time.tzname — кортеж из двух строк: первая — имя DST часового пояса, второй — имя местного часового пояса.

Для вставки кода на 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()
Примеры использования:
>>> import time >>> sec_utc = time.time() >>> sec_utc # 1587728179.4579966 # переводим из секунд в 'struct_time' >>> time_utc = time.gmtime(sec_utc) >>> time_utc # time.struct_time(tm_year=2020, tm_mon=4, # tm_mday=24, tm_hour=11, tm_min=36, tm_sec=19, # tm_wday=4, tm_yday=115, tm_isdst=0) # Локальное время получаем сразу в 'struct_time' >>> time_local = time.localtime() # time.struct_time(tm_year=2020, tm_mon=4, # tm_mday=24, tm_hour=14, tm_min=36, tm_sec=40, # tm_wday=4, tm_yday=115, tm_isdst=0) # получаем форматированную строку из 'struct_time' >>> time.strftime('%d.%m.%Y г. %H часов %M мин. %S сек.', time_utc) # '24.04.2020 г. 11 часов 36 мин. 19 сек.' >>> time.strftime('%d.%m.%Y г. %H часов %M мин. %S сек.', time_local) # '24.04.2020 г. 14 часов 36 мин. 40 сек.' # теперь получим из строки со временем - структуру 'struct_time' >>> struct_time = time.strptime('10/10/2020 10:15', '%d/%m/%Y %H:%M') # time.struct_time(tm_year=2020, tm_mon=10, # tm_mday=10, tm_hour=10, tm_min=15, tm_sec=0, # tm_wday=5, tm_yday=284, tm_isdst=-1) # переведем 'struct_time' в секунды "эпохи" >>> time.mktime(struct_time) # 1602314100.0 

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

  • КРАТКИЙ ОБЗОР МАТЕРИАЛА.
  • Функция asctime() модуля time
  • Функция ctime() модуля time
  • Функция get_clock_info() модуля time
  • Функция gmtime() модуля time
  • Функция localtime() модуля time
  • Функция mktime() модуля time
  • Функция monotonic() модуля time
  • Функция perf_counter() модуля time
  • Функция process_time() модуля time
  • Функция sleep() модуля time
  • Функция strftime() модуля time
  • Функция strptime() модуля time
  • Класс struct_time модуля time
  • Функция time() модуля time
  • Функция tzset() модуля time
  • Константы часового пояса модуля time

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

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

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

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

import time

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

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

Функции модуля времени 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() который дает секунды текущего местного времени.

time.time()
import time seconds = time.time() print("Current time in seconds since epoch EnlighterJSRAW" data-enlighter-language="python">Current time in seconds since epoch = 1582961644.3032079

2 метод time.sleep()

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

time.sleep(value)
import time print("JournalDev. ") time.sleep(1.2) print("AskPython.") time.sleep(3.2) print("Engineering")

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

JournalDev. AskPython. Engineering

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 по местному времени.

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

time.localtime(seconds)
import time local_time = time.localtime() print("Time:",local_time) print("Current year:", local_time.tm_year) print("Current hour:", local_time.tm_hour) print("Current minute:", local_time.tm_min) print("Current second:", local_time.tm_sec)
Time: time.struct_time(tm_year=2020, tm_mon=2, tm_mday=29, tm_hour=14, tm_min=3, tm_sec=23, tm_wday=5, tm_yday=60, tm_isdst=0) Current year: 2020 Current hour: 14 Current minute: 3 Current second: 23

4 метод time.ctime()

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

ctime(seconds)
from time import time, ctime current_time = time() res = ctime(tim) print("Local_time:",res)
Local_time: Sat Feb 29 14:08:26 2020

5 Метод time.mktime()

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

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

time.mktime()
import time local_time = time.localtime() sec = time.mktime(local_time) print(sec)

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

1582966721.0

6 Метод time.gmtime()

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

time.gmtime()
import time local_time = time.gmtime() print(local_time)
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=29, tm_hour=9, tm_min=2, tm_sec=49, tm_wday=5, tm_yday=60, tm_isdst=0)

7 метод time.strptime()

Метод time.strptime() принимает строку, представляющую время, и возвращает сведения о времени в формате struct_time.

time.strptime(string, %format code)
  • % m — месяц
  • % d — день
  • % M — месяц
  • % S — второй
  • % H — час
  • % Y — год
import time tym = "29 February, 2020" sys = time.strptime(tym, "%d %B, %Y") print(sys)
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=29, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=60, tm_isdst=-1)

8 метод time.strftime()

Метод time.strftime() является обратным методу time.strptime(). Он принимает в качестве аргумента кортежи класса struct_time и возвращает строку, представляющую время в соответствии с кодами входного формата.

time.strftime(%format code, struct_time)
import time tym = time.localtime() opt = time.strftime("%d/%m/%Y, %H:%M:%S",tym) print(opt)
29/02/2020, 15:07:16

9 Метод time.asctime()

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

import time tym = time.localtime() opt = time.asctime(tym) print("TimeStamp:",opt)
TimeStamp: Sat Feb 29 15:27:14 2020

Модуль time в Python

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

import time 

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

Python time.time()

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

import time seconds = time.time() print("Секунды с начала эпохи token punctuation">, seconds) 

Python time.ctime()

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

import time # секунды прошли с эпох seconds = 1575721830.711298 local_time = time.ctime(seconds) print("Местное время:", local_time) 

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

Местное время: Sat Dec 7 14:31:36 2019 

Python time.sleep()

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

import time print("Сейчас.") time.sleep(2.4) print("Через 2.4 секунды.") 

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

import time result = time.localtime(1575721830) print("результат:", result) print("\nгод:", result.tm_year) print("tm_hour:", result.tm_hour) 

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

result: time.struct_time(tm_year=2019, tm_mon=12, tm_mday=7, tm_hour=14, tm_min=30, tm_sec=30, tm_wday=5, tm_yday=341, tm_isdst=0) year: 2019 tm_hour: 14 

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

Python time.gmtime()

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

import time result = time.gmtime(1575721830) print("результат:", result) print("\nгод:", result.tm_year) print("tm_hour:", result.tm_hour) 

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

result: time.struct_time(tm_year=2019, tm_mon=12, tm_mday=7, tm_hour=12, tm_min=30, tm_sec=30, tm_wday=5, tm_yday=341, tm_isdst=0) year: 2019 tm_hour: 12 

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

Python time.mktime()

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

import time t = (2019, 12, 7, 14, 30, 30, 5, 341, 0) local_time = time.mktime(t) print("Местное время:", local_time) 

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

import time seconds = 1575721830 # возвращает struct_time t = time.localtime(seconds) print("t1: ", t) # возвращает секунды из struct_time s = time.mktime(t) print("\ns:", seconds) 

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

t1: time.struct_time(tm_year=2019, tm_mon=12, tm_mday=7, tm_hour=14, tm_min=30, tm_sec=30, tm_wday=5, tm_yday=341, tm_isdst=0) s: 1575721830 

Python time.asctime()

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

import time t = (2019, 12, 7, 14, 30, 30, 5, 341, 0) result = time.asctime(t) print("Результат:", result) 
Результат: Sat Dec 7 14:30:30 2019 

Python time.strftime()

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

import time named_tuple = time.localtime() # получить struct_time time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple) print(time_string) 

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

12/07/2019, 15:01:09 

Здесь %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 .

import time time_string = "15 June, 2019" result = time.strptime(time_string, "%d %B, %Y") print(result) 
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=166, tm_isdst=-1) 
  • ТЕГИ
  • документация на русском

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

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