English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основные курсы Python

Управление потоком в Python

Функции Python

Типы данных Python

Операции с файлами в Python

Объекты и классы в Python

Даты и время в Python

Продвинутые знания Python

Руководство по Python

Модуль time в Python

В этой статье мы будем подробно обсуждать модуль time. Мы изучим использование различных функций, связанных с временем, определенными в модуле 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 = 1545925769.9618232
local_time = time.ctime(seconds)
print("Локальное время:", local_time)

Если вы запустите этот программу, вывод будет похож на:

Локальное время: Чтв 27 Дек 15:49:29 2018

Python time.sleep()

Функция sleep() приостанавливает (задерживает) выполнение текущей нити в течение указанного количества секунд.

import time
print("Это немедленная печать.")
time.sleep(2.4)
print("Это печать через 2.4 секунды.")

Для получения дополнительной информации, пожалуйста, посетите:sleep() в Python.

До обсуждения других функций, связанных с временем, давайте кратко рассмотрим класс 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)
индекс
свойствозначение свойства
0tm_year0000, ..., 2018, ..., 9999
1tm_mon1, 2, ..., 12
2tm_mday1, 2, ..., 31
3tm_hour0, 1, ..., 23
4tm_min0, 1, ..., 59
5tm_sec0, 1, ..., 61
6tm_wday0, 1, ..., 6; Понедельник = 0
7tm_yday1, 2, ..., 366
8tm_isdst0, 1 или -1

можно использовать индексы и свойства для доступа к значениям (элементам) объекта time.struct_time.

Python time.localtime()

функция localtime() принимает количество секунд с момента epoch в качестве параметра и возвращает структуру struct_time.localtimeвозвращает структуру struct_time.

import time
result = time.localtime(1545925769)
print("result:", result)
print("\nгод:", 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)
год: 2018
tm_hour: 15

Если передается None или не передан параметр localtime(), то time() использует возвращаемое значение.

Python time.gmtime()

функция gmtime() принимает количество секунд с момента epoch в качестве параметра и возвращает структуру struct_time.UTCвозврат.

import time
result = time.gmtime(1545925769)
print("result:", result)
print("\nгод:", 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() принимает структуру времени (или кортеж, содержащий 9 элементов, соответствующий struct_time), и возвращает количество секунд с момента эры с учетом местного времени. В основном, это обратная функция localtime().

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

Ниже приведен пример关系的 между функциями mktime() и localtime()

import time
seconds = 1545925769
# возвращает структуру времени
t = time.localtime(seconds)
print("t1:", t)
# возвращает секунды из структуры времени
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() принимает структуру времени (или кортеж, содержащий 9 элементов, соответствующий struct_time), и возвращает строку, представляющую его. Вот пример:

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

При выполнении этого программы, вывод будет:

Результат: Пт 28 Дек 08:44:04 2018

Python time.strftime()

Функция strftime() принимает в качестве параметра структуру времени (или соответствующий ей кортеж) и возвращает строку, представляющую её, в соответствии с используемыми кодами формата. Например,

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() анализирует строку, представляющую время, и возвращает структуру времени.

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)