Модуль time | Python 3 для начинающих и чайников
Time — модуль для работы со временем в Python.
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 — тип последовательности значения времени. Имеет интерфейс кортежа. Можно обращаться по индексу или по имени.
- tm_year
- tm_mon
- tm_mday
- tm_hour
- tm_min
- tm_sec
- tm_wday
- tm_yday
- tm_isdst
time.time() — время, выраженное в секундах с начала эпохи.
time.timezone — смещение местного часового пояса в секундах к западу от нулевого меридиана. Если часовой пояс находится восточнее, смещение отрицательно.
time.tzname — кортеж из двух строк: первая — имя DST часового пояса, второй — имя местного часового пояса.
Для вставки кода на Python в комментарий заключайте его в теги <pre><code>Ваш код</code></pre>
Модуль time в Python, реальное время ОС.
Модуль time
предоставляет доступ к нескольким различным типам часов, каждый из которых используется для разных целей:
- Стандартные системные вызовы типа
time.time()
сообщают системное время в секундах с начала «эпохи». - Монотонные часы
time.monotonic()
можно использовать для измерения прошедшего времени в каком то длительном процессе, т.к. функция не зависит от настроек системного времени и гарантирует, что никогда не передвинется назад, даже если системное время изменилось. - Для тестирования производительности модуль предоставляет доступ к часам с максимально высоким разрешением
time.perf_counter()
, чтобы сделать измерения короткого времени более точными. - Функция
time.process_time()
возвращает объединенное время процессора и системное время.
Хотя этот модуль всегда доступен, на некоторых платформах доступны не все функции. Большинство функций, определенных в этом модуле, вызывают библиотечные функции языка C с тем же именем. Семантика этих функций варьируется в зависимости от платформы, по этому будет полезно ознакомиться с документацией вашей платформы.
Объяснение некоторых терминов и соглашений:
Используйте следующие функции для преобразования между представлениями времени:
Из формата | В формат | Функция |
Секунды эпохи | 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
.
Функция Python sleep() (с примерами)
В этом руководстве мы узнаем о функции sleep() с помощью примеров.
В Python есть модуль time, который предоставляет несколько полезных методов для обработки задач, связанных со временем. Одним из самых популярных среди них является sleep()
.
Метод sleep()
приостанавливает выполнение текущего потока на заданное количество секунд.
Пример 1. Метод Python sleep()
время импорта print("Печатается немедленно.") время сна (2.4) print("Напечатано через 2,4 секунды")
Вывод
Немедленно печатается. Напечатано через 2,4 секунды.
Вот как работает эта программа:
-
"Печать сразу"
печатается -
time.sleep(2.4)
приостанавливает выполнение на 2,4 секунды. -
"Напечатано через 2,4 секунды"
печатается.
До Python 3.5 фактическое время приостановки может быть меньше, чем аргумент, указанный в функции time()
.
Начиная с Python 3.5 , время приостановки будет составлять не менее указанных секунд.
Создание цифровых часов в Python
время импорта пока верно: местное время = время.местное время() результат = time.strftime("%I:%M:%S %p", местное время) печать (результат) time.sleep(1)
Выход
14:10:50 14:10:51 14:10:52 14:10:53 14:10:54 ... ... ...
В приведенном выше примере мы вычислили и распечатали текущее местное время внутри бесконечного цикла while.
Затем программа ждет 1 секунд. Опять же, текущее местное время вычисляется и печатается. Этот процесс продолжается.
Чтобы узнать больше, посетите цифровые часы в оболочке Python.
Многопоточность в Python
Прежде чем говорить о методе sleep()
в многопоточных программах, давайте поговорим о процессах и потоках.
Компьютерная программа представляет собой набор инструкций. Процесс — это выполнение этих инструкций.
Поток — это подмножество процесса. Процесс может иметь один или несколько потоков.
Пример 3. Многопоточность Python
Все программы, приведенные выше в этой статье, являются однопоточными программами. Вот пример многопоточной программы Python.
импортная резьба защита print_hello_three_times(): для я в диапазоне (3): распечатать("Привет") защита print_hi_three_times(): для я в диапазоне (3): распечатать("Привет") t1 = threading.Thread(target=print_hello_three_times) t2 = threading.Thread(target=print_hi_three_times) t1.старт() t2.start()
Выход
Привет Привет Привет Привет Привет Hi
В приведенном выше примере есть два потока t1 и t2 .
t1.start()
и t2.start()
.Обратите внимание, что t1 и t2 выполняются одновременно, и мы можем получить разные результаты.
Чтобы узнать больше о многопоточности, посетите Многопоточность в Python.
Python time.sleep() в многопоточных программах
В случае однопоточных программ sleep()
приостанавливает выполнение потока и процесса.
Однако этот метод приостанавливает поток, а не весь процесс в многопоточных программах.
Пример 4: sleep() в многопоточной программе
import threading время импорта защита print_hello(): для я в диапазоне (4): время сна (0,5) распечатать("Привет") защита print_hi(): для я в диапазоне (4): время сна (0,7) распечатать("Привет") t1 = threading.Thread (цель = print_hello) t2 = threading.Thread(target=print_hi) t1.старт() t2.start()
Выход
Привет Привет Привет Привет Привет Привет Привет Привет
Вышеупомянутая программа имеет два потока. Мы использовали time.sleep(0,5)
и time.sleep(0,75)
, чтобы приостановить выполнение этих двух потоков на 0,5 секунд и 0,7 секунд соответственно.
Рекомендуемая литература: Python time.sleep() усыпляет поток
Модуль времени Python — GeeksforGeeks
В этой статье мы обсудим модуль времени и различные функции, предоставляемые этим модулем, с помощью хороших примеров.
Как следует из названия, модуль времени Python позволяет работать со временем в Python. Он позволяет выполнять такие функции, как получение текущего времени, приостановка выполнения программы и т. д. Поэтому, прежде чем начать работу с этим модулем, нам необходимо его импортировать.
Импорт модуля времени
Модуль времени поставляется со стандартным служебным модулем Python, поэтому нет необходимости устанавливать его извне. Мы можем просто импортировать его, используя оператор импорта.
время импорта
Что такое эпоха?
Эпоха — это точка начала отсчета времени, зависящая от платформы. В Windows и большинстве систем Unix эпоха — 1 января 1970 года, 00:00:00 (UTC), а дополнительные секунды не учитываются во времени в секундах с начала эпохи. Чтобы проверить, какая эпоха на данной платформе, мы можем использовать time.gmtime(0).
Пример: Получение эпохи
Python3
|
Выход:
Время. 0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
Из приведенного выше примера видно, что эпоха приходится на 1 января 1970 года. Это означает, что 2 января 1970 года можно выразить как 86400 секунд с начала эпохи так как в сутках 86400 секунд.
Примечание: Время до начала эпохи по-прежнему можно представить в секундах, но оно будет отрицательным. Например, 31 декабря 1969 будет представлено как -86400 секунд.
Получение текущего времени в секундах с начала эпохи
Методы time.time() возвращают текущее время в секундах с начала эпохи. Он возвращает число с плавающей запятой.
Example: Current time in seconds since epoch
Python3
|
Выход
Время в секундах... 9.. 9... 9.700100. .700100 .70016.70016.76009.70016.700100 . .700100700100.700100.700100 0 0 0 0 0 0 0 0.
. 9.700100
. Функция time.ctime() возвращает строку времени из 24 символов, но принимает секунды в качестве аргумента и вычисляет время до указанных секунд. Если аргумент не передан, время рассчитывается до настоящего времени.Example: Getting time string from seconds
Python3
|
Выход
Текущее время: Пн Авг 51 3:21 4 2 12 120016Задержка выполнения программ
Выполнение может быть отложено с помощью метода time. sleep(). Этот метод используется для остановки выполнения программы на время, указанное в аргументах.
Пример: Задержка выполнения программ на Python.
Python3
Импорт Время
0 1 2 3 time.struct_time ClassКласс Struct_time помогает получить доступ к локальному времени, т. е. к неэпохальным временным меткам. Он возвращает именованный кортеж, к значению которого можно получить доступ как по индексу, так и по имени атрибута. Его объект содержит следующие атрибуты –
This class contains various functions. Давайте обсудим каждую функцию подробно. метод time.localtime()метод localtime() возвращает объект struct_time по местному времени. В качестве аргумента принимает количество секунд, прошедших с эпохи. Если параметр секунд не задан, используется текущее время, возвращаемое методом time.time(). Example: Getting local time from epoch Python3
Выход
метод time.mktime()time.mktime() является обратной функцией time.localtime(), которая преобразует время, выраженное в секундах, начиная с эпохи, в объект time.struct_time по местному времени. Example: Converting the struct_time object to seconds since epoch Python3
Вывод Местное время (в секундах): 1627987508.0 Метод time.gmtime() объект в формате UTC, в котором атрибут tm_isdst всегда равен 0. Если параметр секунд не задан, используется текущее время, возвращаемое методом time.time().Пример: ИСПОЛЬЗОВАНИЕ ВРЕМЕНИ. |
Выход
Время. =8, tm_wday=1, tm_yday=215, tm_isdst=0)
Метод time.strftime()
Функция time.strftime() преобразует кортеж или struct_time, представляющий время, возвращаемое функциями gmtime() или localtime(), в строку, указанную аргументом формата. Если t не указан, используется текущее время, возвращаемое функцией localtime(). Формат должен быть строкой. ValueError возникает, если какое-либо поле в t находится за пределами допустимого диапазона.
Пример: Преобразование объекта struct_time в строку с использованием метода strftime()
Python3
, |
Output
Вт, 03 августа 2021 г. 10:45:08
метод time.asctime()
метод time.asctime() используется для преобразования кортежа или объекта time.struct_time, представляющего время, возвращаемое функцией time.gmtime() или time.localtime() в строку следующего вида:
Day Mon Date Hour:Min:Sec Year
Пример: Преобразование кортежа в объект time.struct_time в строку
Python3
импорт время метод time.strptime() преобразует строку, представляющую время, в объект struct_time. Пример: Преобразование строки в объект struct_time. Выход времени. |