- Модуль 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) в Python
- Функции модуля времени Python
- 1 метод time.time()
- 2 метод time.sleep()
- 3 метод time.localtime()
- 4 метод time.ctime()
- 5 Метод time.mktime()
- 6 Метод time.gmtime()
- 7 метод time.strptime()
- 8 метод time.strftime()
- 9 Метод time.asctime()
Модуль 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) в Python
Модуль времени Python предоставляет нам различные функции для внедрения системного времени в наше приложение с помощью сценариев.
Чтобы начать работу с модулем времени, нам нужно импортировать его в наш скрипт python, используя следующую инструкцию:
При выполнении операций с данными, относящимися к метке времени, необходимо иметь отправную точку, с которой мы можем начать выполнять операции с ними.
Эпоха — это начальная точка времени, от которой следует отсчитывать время.
Функции модуля времени Python
Модуль времени Python предлагает хороший набор функций для работы с отметкой времени.
Ниже приведены наиболее часто используемые функции:
- time.time()
- time.sleep()
- time.ctime()
- time.localtime()
- time.mktime()
- time.gmtime()
- time.strptime()
- time.strftime()
- time.asctime()
1 метод time.time()
В модуле времени Python есть метод time.time() который дает секунды текущего местного времени.
import time seconds = time.time() print("Current time in seconds since epoch EnlighterJSRAW" data-enlighter-language="python">Current time in seconds since epoch = 1582961644.3032079
2 метод time.sleep()
Метод time.sleep() обеспечивает интервал времени или задержку между выполнением текущих процессов или потоков.
import time print("JournalDev. ") time.sleep(1.2) print("AskPython.") time.sleep(3.2) print("Engineering")
В приведенном выше фрагменте кода, когда мы пытаемся выполнить приведенный выше код, можно легко наблюдать задержку, пока операторы вывода отображаются на консоли.
JournalDev. AskPython. Engineering
3 метод time.localtime()
Модуль времени Python содержит класс struct_time, доступ к которому можно получить с помощью различных функций. Это помогает нам получить доступ к различным полям местной метки времени, таким как год, час, секунды и т. д.
Класс struct_time состоит из следующих атрибутов:
- tm_year: возвращает год по местному времени.
- tm_hour: возвращает час конкретного местного времени.
- tm_min: возвращает значение минут определенного местного времени.
- tm_sec: возвращает значение секунд определенного местного времени.
- tm_mon: возвращает месяц по местному времени.
- tm_mday: возвращает дату месяца по местному времени.
- tm_wday: возвращает значение дней недели, т.е. с 0 понедельника по 6 воскресенье.
- tm_yday: возвращает номер конкретного дня в диапазоне от 1 до 366.
Функция time.localtime() запускает функцию time.time() в серверной части и возвращает детали текущего времени в формате класса struct_time по местному времени.
Мы также можем передать количество секунд с начала эпохи в качестве аргумента функции.
import time local_time = time.localtime() print("Time:",local_time) print("Current year:", local_time.tm_year) print("Current hour:", local_time.tm_hour) print("Current minute:", local_time.tm_min) print("Current second:", local_time.tm_sec)
Time: time.struct_time(tm_year=2020, tm_mon=2, tm_mday=29, tm_hour=14, tm_min=3, tm_sec=23, tm_wday=5, tm_yday=60, tm_isdst=0) Current year: 2020 Current hour: 14 Current minute: 3 Current second: 23
4 метод time.ctime()
Метод time.ctime() принимает значение секунд с начала или результат функции time() в качестве аргумента и возвращает строковое значение, представляющее текущее местное время.
from time import time, ctime current_time = time() res = ctime(tim) print("Local_time:",res)
Local_time: Sat Feb 29 14:08:26 2020
5 Метод time.mktime()
Метод time.mktime() является обратным методу time.localtime().
Он принимает struct_time (все кортежи класса struct_time) в качестве аргумента и возвращает время в секундах, которое прошло с начала.
import time local_time = time.localtime() sec = time.mktime(local_time) print(sec)
В приведенном выше примере мы использовали метод locatime() для получения кортежей класса struct_time и передали его методу mktime().
6 Метод time.gmtime()
Функция time.gmtime() запускает функцию time.time() в серверной части и возвращает детали текущего времени в формате класса struct_time в UTC.
import time local_time = time.gmtime() print(local_time)
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=29, tm_hour=9, tm_min=2, tm_sec=49, tm_wday=5, tm_yday=60, tm_isdst=0)
7 метод time.strptime()
Метод time.strptime() принимает строку, представляющую время, и возвращает сведения о времени в формате struct_time.
time.strptime(string, %format code)
- % m — месяц
- % d — день
- % M — месяц
- % S — второй
- % H — час
- % Y — год
import time tym = "29 February, 2020" sys = time.strptime(tym, "%d %B, %Y") print(sys)
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=29, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=60, tm_isdst=-1)
8 метод time.strftime()
Метод time.strftime() является обратным методу time.strptime(). Он принимает в качестве аргумента кортежи класса struct_time и возвращает строку, представляющую время в соответствии с кодами входного формата.
time.strftime(%format code, struct_time)
import time tym = time.localtime() opt = time.strftime("%d/%m/%Y, %H:%M:%S",tym) print(opt)
9 Метод time.asctime()
Метод time.asctime() принимает в качестве аргумента кортежи класса struct_time и возвращает строку, представляющую ввод времени из кортежей класса struct_time.
import time tym = time.localtime() opt = time.asctime(tym) print("TimeStamp:",opt)
TimeStamp: Sat Feb 29 15:27:14 2020