import time time.struct_time
Класс struct_time
модуля time
представляет собой тип последовательности значений времени, возвращаемых функциями time.gmtime()
, time.localtime()
и time.strptime()
. Это кортеж с именованным интерфейсом: значения могут быть доступны по индексу и по имени атрибута.
Кортеж структуры времени состоит из атрибутов:
№ индекса | Атрибут | Значение |
0 | tm_year | (пример - 1993) |
1 | tm_mon | range [1, 12] |
2 | tm_mday | range [1, 31] |
3 | tm_hour | range [0, 23] |
4 | tm_min | range [0, 59] |
5 | tm_sec | range [0, 61]; смотри примечание 2 в описании функции strftime() |
6 | tm_wday | range [0, 6], понедельник = 0 |
7 | tm_yday | range [1, 366] |
8 | tm_isdst | 0, 1 or -1; смотрите ниже в описании |
N/A | tm_zone | Сокращение названия часового пояса |
N/A | tm_gmtoff | Смещение к востоку от UTC в секундах |
Обратите внимание, что в отличие от структуры языка C, значением месяца является диапазон [1, 12]
, а не [0, 11]
.
В вызовах функции time.mktime()
, элемент кортежа tm_isdst
может быть установлен в 1, когда действует летнее время, и в 0, если это не так. Значение -1 указывает, что это значение неизвестно, и обычно приводит к заполнению правильного состояния.
Когда кортеж с неправильной длиной передается функции, ожидающей time.struct_time
или имеющей элементы неправильного типа, возникает ошибка TypeError
.
>>> import time # Получение структуры времени >>> struct = time.localtime() >>> struct # time.struct_time(tm_year=2020, tm_mon=4, # tm_mday=25, tm_hour=11, tm_min=41, tm_sec=37, # tm_wday=5, tm_yday=116, tm_isdst=0) # преобразование структуры времени в секунды >>> time.mktime(struct) # 1587804097.0 # преобразование структуры в человекочитаемую строку с датой >>> time.strftime('%d.%m.%Y %H:%M', struct) # '25.04.2020 11:41'
Получить только год в числовом формате.
>>> from time >>> struct = time.localtime() >>> struct.tm_year # 2020
Получить месяц как число.
>>> from time >>> struct = time.localtime() >>> struct.tm_mon # 4
Получить день недели в числовом формате.
>>> from time >>> struct = time.localtime() >>> struct.tm_wday # 5
Получить текущий день как число.
>>> from time >>> struct = time.localtime() >>> struct.tm_mday # 25
Получить текущий час как число.
>>> from time >>> struct = time.localtime() >>> struct.tm_hour # 25