Модуль времени Python
Модуль времени Python
В этой статье мы подробно рассмотрим модуль времени. Мы научимся использовать различные связанные со временем функции, определенные в модуле time, с помощью примеров.
В Python есть модуль с именем time
. для решения задач, связанных со временем. Чтобы использовать функции, определенные в модуле, нам нужно сначала импортировать модуль. Вот как:
import time
<час> Вот часто используемые функции, связанные со временем.
Python time.time()
time()
Функция возвращает количество секунд, прошедших с начала эпохи.
Для системы Unix January 1, 1970, 00:00:00
в UTC это эпоха (точка начала времени).
import time
seconds = time.time()
print("Seconds since epoch =", seconds)
<час> Python time.ctime()
time.ctime()
Функция принимает секунды, прошедшие с эпохи, в качестве аргумента и возвращает строку, представляющую местное время.
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<час>
Python time.sleep()
sleep()
функция приостанавливает (задерживает) выполнение текущего потока на заданное количество секунд.
import time
print("This is printed immediately.")
time.sleep(2.4)
print("This is printed after 2.4 seconds.")
Чтобы узнать больше, посетите:Python sleep().
<час> Прежде чем мы поговорим о других функциях, связанных со временем, давайте рассмотрим time.struct_time
. вкратце о классе.
класс time.struct_time
Несколько функций в 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
объект доступен с использованием как индексов, так и атрибутов.
Python time.localtime()
localtime()
функция принимает в качестве аргумента количество секунд, прошедших с эпохи, и возвращает 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
Если нет аргумента или None
передается в localtime()
, значение, возвращаемое time()
используется.
Python 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
Если нет аргумента или None
передается в gmtime()
, значение, возвращаемое time()
используется.
Python 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<час>
Python 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<час>
Python 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)
Когда вы запустите программу, вывод будет примерно таким:
12/28/2018, 09:47:41
Здесь %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.strftime().
<час>Python 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)
Python