- Модуль time в Python
- Python time.time()
- time.sleep()
- Класс time.struct_time
- time.localtime()
- time.gmtime()
- time.mktime()
- time.asctime()
- time.strftime()
- time.strptime()
- Модуль time в Python
- Python time.time()
- Python time.ctime()
- Python time.sleep()
- Класс time.struct_time
- Python time.localtime()
- Python time.gmtime()
- Python time.mktime()
- Python time.asctime()
- Python time.strftime()
- Python time.strptime()
- Модуль time
Модуль time в Python
В этой статье мы подробно рассмотрим модуль времени. Мы научимся использовать различные функции и методы, связанные со временем, определенные в модуле времени, с помощью примеров.
В Python есть модуль с именем time для обработки задач, связанных со временем. Чтобы использовать функции, определенные в модуле, нам нужно сначала импортировать модуль. Вот как:
Вот часто используемые функции, связанные со временем.
Python time.time()
Функция time() возвращает количество секунд, прошедших с начала эпохи.
Для системы Unix 1 января 1970 г., 00:00:00 по всемирному координированному времени ‒ это эпоха (точка, где начинается время).
import time seconds = time.time() print("Seconds since epoch EnlighterJSRAW" data-enlighter-language="python">import time # seconds passed since epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time)
Если вы запустите программу, результат будет примерно таким:
Local time: Thu Dec 27 15:49:29 2018
time.sleep()
Функция sleep() приостанавливает (задерживает) выполнение текущего потока на заданное количество секунд.
import time print("This is printed immediately.") time.sleep(2.4) print("This is printed after 2.4 seconds.")
Прежде чем говорить о других функциях, связанных со временем, давайте кратко рассмотрим класс time.struct_time.
Класс time.struct_time
Некоторые функции в модуле времени, такие как gmtime(), asctime() и т.д., либо принимают объект time.struct_time в качестве аргумента, либо возвращают его.
Вот пример объекта time.struct_time:
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=6, tm_min=35, tm_sec=17, tm_wday=3, tm_yday=361, tm_isdst=0)
Индекс | Атрибут | Значение |
---|---|---|
0 | tm_year | 0000, …., 2018, …, 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; Понедельник 0 |
7 | tm_yday | 1, 2, …, 366 |
8 | tm_isdst | 0, 1 или -1 |
Значения (элементы) объекта time.struct_time доступны как с помощью индексов, так и атрибутов.
time.localtime()
Функция localtime() в Python принимает в качестве аргумента количество секунд, прошедших с начала эпохи, и возвращает struct_time по местному времени.
import time result = time.localtime(1545925769) print("result:", result) print("\nyear:", result.tm_year) print("tm_hour:", result.tm_hour)
Когда вы запустите программу, результат будет примерно таким:
result: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) year: 2018 tm_hour: 15
Если в localtime() не передается аргумент или None, используется значение, возвращаемое функцией time().
time.gmtime()
Функция gmtime() принимает в качестве аргумента количество секунд, прошедших с начала эпохи, и возвращает struct_time в формате UTC.
import time result = time.gmtime(1545925769) print("result:", result) print("\nyear:", result.tm_year) print("tm_hour:", result.tm_hour)
Когда вы запустите программу, вывод будет:
result = time.struct_time(tm_year=2018, tm_mon=12, tm_mday=28, tm_hour=8, tm_min=44, tm_sec=4, tm_wday=4, tm_yday=362, tm_isdst=0) year = 2018 tm_hour = 8
Если в gmtime() не передается аргумент или None, используется значение, возвращаемое time().
time.mktime()
Функция mktime() принимает struct_time (или кортеж, содержащий 9 элементов, соответствующих struct_time) в качестве аргумента и возвращает секунды, прошедшие с начала эпохи по местному времени. По сути, это функция, обратная localtime().
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) local_time = time.mktime(t) print("Local time:", local_time)
В приведенном ниже примере показано, как связаны mktime() и localtime():
import time seconds = 1545925769 # returns struct_time t = time.localtime(seconds) print("t1: ", t) # returns seconds from struct_time s = time.mktime(t) print("\s:", seconds)
Когда вы запустите программу, результат будет примерно таким:
t1: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) s: 1545925769.0
time.asctime()
Функция asctime() принимает struct_time (или кортеж, содержащий 9 элементов, соответствующих struct_time) в качестве аргумента и возвращает строку, представляющую его. Вот пример:
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) result = time.asctime(t) print("Result:", result)
Когда вы запустите программу, вывод будет:
Result: Fri Dec 28 08:44:04 2018
time.strftime()
Функция strftime() принимает struct_time (или соответствующий ей кортеж) в качестве аргумента и возвращает строку, представляющую ее на основе используемого кода формата. Например:
import time named_tuple = time.localtime() # get struct_time time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple) print(time_string)
Когда вы запустите программу, результат будет примерно таким:
Здесь % Y,% m,% d,% H и т.д. являются кодами формата:
- % Y ‒ год [0001, …, 2018, 2019, …, 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]
time.strptime()
strptime() анализирует строку, представляющую время, и возвращает struct_time.
import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result)
Когда вы запустите программу, вывод будет:
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=172, tm_isdst=-1)
Модуль time в Python
В Python есть модуль 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)
Здесь %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)
Модуль time
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 в комментарий заключайте его в теги