Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Освоение модуля time в Python: функции, структуры и практические примеры

Модуль time в Python

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

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

import time

time.time()

Функция time() возвращает текущее время в секундах с начала эпохи Unix (00:00:00 UTC 1 января 1970 года). В Unix-подобных системах это значение фиксировано; в Windows оно также отсчитывается от той же точки.

import time

seconds = time.time()
print("Секунды с эпохи =", seconds)

time.ctime()

Преобразует временную метку POSIX (секунды с эпохи) в читаемую строку в локальном часовом поясе.

import time

seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("Локальное время:", local_time)

Типичный вывод:

Локальное время: Thu Dec 27 15:49:29 2018

time.sleep()

Приостанавливает выполнение текущего потока на указанное количество секунд.

import time

print("Это выводится сразу.")
time.sleep(2.4)
print("Это выводится через 2.4 секунды.")

Подробнее см. в документации Python по sleep().


Класс time.struct_time

Функции вроде gmtime() и asctime() возвращают или принимают объект time.struct_time — именованный кортеж из 9 элементов, представляющий календарное время.

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)
ИндексАтрибутЗначения
0tm_year0000 … 9999
1tm_mon1 … 12
2tm_mday1 … 31
3tm_hour0 … 23
4tm_min0 … 59
5tm_sec0 … 61
6tm_wday0 (Пн) … 6 (Вс)
7tm_yday1 … 366
8tm_isdst0, 1 или -1

Доступ к элементам можно получить как по индексу, так и по имени атрибута.


time.localtime()

Преобразует временную метку POSIX в struct_time, выраженное в локальном часовом поясе. Если аргумент опущен, используется текущее время.

import time

result = time.localtime(1545925769)
print("result:", result)
print("\nГод:", result.tm_year)
print("Час:", 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)
Год: 2018
Час: 15

time.gmtime()

Аналогично localtime(), но возвращает время UTC (GMT). Пропущенный аргумент по умолчанию равен текущему значению эпохи.

import time

result = time.gmtime(1545925769)
print("result:", result)
print("\nГод:", result.tm_year)
print("Час:", 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)
Год: 2018
Час: 8

time.mktime()

Преобразует локальный struct_time (или его 9-кортеж) обратно в временную метку POSIX. Это фактически обратная операция к localtime().

import time

t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
local_time = time.mktime(t)
print("Локальное время:", local_time)

Пример обратного преобразования:

import time

seconds = 1545925769
t = time.localtime(seconds)
print("t1:", t)
s = time.mktime(t)
print("\ns:", s)

Типичный вывод:

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()

Форматирует struct_time (или кортеж) в читаемую строку.

import time

t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
result = time.asctime(t)
print("Результат:", result)

Типичный вывод:

Результат: Fri Dec 28 08:44:04 2018

time.strftime()

Форматирует struct_time в пользовательскую строку на основе кодов форматирования.

import time

named_tuple = time.localtime()
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)
print(time_string)

Типичный вывод:

12/28/2018, 09:47:41

Часто используемые коды форматирования:

Для полного списка кодов см. документацию time.strftime().


time.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

  1. Ключевые слова и идентификаторы в Python: мастерство зарезервированных слов и соглашений об именовании
  2. Освоение типов данных в Python: практическое руководство
  3. Мастерство операторов Python: Полное руководство
  4. Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
  5. Модули в Python: создание, импорт и продвинутое использование
  6. Словари в Python: создание, манипуляции и продвинутые техники
  7. Регулярные выражения в Python (модуль re) — практическое руководство
  8. Получение текущей даты и времени в Python: практическое руководство
  9. Python: получение текущего времени и работы с часовыми поясами
  10. Освоение Python time.sleep(): лучшие практики, многопоточность и реальные примеры