logo

Часовий модуль Python

У цій статті ми обговоримо модуль часу та різні функції, які надає цей модуль, на гарних прикладах.

Як випливає з назви, модуль часу Python дозволяє працювати з часом Python . Він дозволяє виконувати такі функції, як отримання поточного часу, призупинення виконання програми тощо. Отже, перш ніж почати роботу з цим модулем, нам потрібно його імпортувати.



Імпорт модуля часу

Модуль часу постачається зі стандартним службовим модулем Python, тому немає необхідності встановлювати його зовні. Ми можемо просто імпортувати його за допомогою імпортна заява .

import time>

Що таке епоха?

Епоха – це точка, з якої починається час і залежить від платформи. У Windows і більшості систем Unix епохою є 1 січня 1970 року, 00:00:00 (UTC), і високосні секунди не зараховуються до часу в секундах після епохи. Щоб перевірити, яка епоха на даній платформі, ми можемо використовувати time.gmtime(0) .

приклад: Епоха отримання



Код використовуєtime>модуль для друку результатуtime.gmtime(0)>, що представляє час у часовому поясі GMT (середній час за Гринвічем) в епоху Unix (1 січня 1970 р., 00:00:00 UTC).

Python3






import> time> print>(time.gmtime(>0>))>

>

>

Вихід:

time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

Примітка: Час до епохи все ще можна представити в секундах, але він буде від’ємним. Наприклад, 31 грудня 1969 року буде представлено як -86400 секунд.

Отримання поточного часу в секундах від епохи

time.time() методи повертають поточний час у секундах від епохи. Він повертає число з плаваючою комою.

приклад: Поточний час у секундах від епохи

Код використовуєtime>модуль для отримання поточного часу в секундах з епохи Unix (1 січня 1970 р.).

Python3




import> time> curr>=> time.time()> print>(>'Current time in seconds since epoch ='>, curr)>

>

>

Вихід

Current time in seconds since epoch = 1627908387.764925>

Отримання рядка часу з секунд

time.ctime() функція повертає рядок часу з 24 символів, але приймає секунди як аргумент і обчислює час до згаданих секунд. Якщо аргумент не передано, час обчислюється до теперішнього часу.

приклад: Отримання рядка часу з секунд

Код використовуєtime>модуль для перетворення вказаної мітки часу (1627908313.717886) у формат дати й часу, зрозумілий людині.

Python3




import> time> curr>=> time.ctime(>1627908313.717886>)> print>(>'Current time:'>, curr)>

>

>

Вихід

Current time: Mon Aug 2 12:45:13 2021>

Затримка виконання програм

Виконання можна відкласти за допомогою time.sleep() метод. Цей метод використовується для зупинки виконання програми на час, вказаний в аргументах.

приклад: Затримка часу виконання програм на Python.

Цей код використовуєtime>модуль для введення односекундної затримки за допомогою time.sleep(1)> всередині циклу, який повторюється чотири рази.

Python3




import> time> for> i>in> range>(>4>):> >time.sleep(>1>)> >print>(i)>

>

>

Вихід

0 1 2 3>

time.struct_time Клас

Struct_time клас допомагає отримати доступ до місцевого часу, тобто не епохальних позначок часу. Він повертає іменований кортеж, до значення якого можна отримати доступ як за індексом, так і за назвою атрибута. Його об’єкт містить наступні атрибути –

Індекс Назва атрибута Цінності
0 tm_рік 0000, …, 9999
1 tm_mon 1, 2, …, 11, 12
2 tm_mday 1, 2, …, 30, 31
3 tm_hour 0, 1, …, 22, 23
4 tm_min 0, 1, …, 58, 59
5 tm_sec 0, 1, …, 60, 61
6 tm_wday 0, 1, …, 6; Неділя 6
7 tm_yday 1, 2, …, 365, 366
8 tm_isdst 0, 1 або -1

Цей клас містить різні функції. Давайте обговоримо кожну функцію докладніше.

метод time.localtime().

місцевий час() метод повертає об’єкт struct_time за місцевим часом. В якості аргументу приймається кількість секунд, що минули з епохи. Якщо параметр секунд не задано, використовується поточний час, який повертає метод time.time().

приклад: Отримання місцевого часу з епохи

Код використовуєtime>модуль для перетворення вказаної позначки часу (1627987508.6496193) у time.struct_time> об'єкт, що представляє відповідну дату й час.

js набір

Python3




import> time> obj>=> time.localtime(>1627987508.6496193>)> print>(obj)>

>

>

Вихід

time.struct_time(tm_year=2021, tm_mon=8, tm_mday=3, tm_hour=16, tm_min=15, tm_sec=8, tm_wday=1, tm_yday=215, tm_isdst=0)

метод time.mktime().

time.mktime() є зворотною функцією time.localtime(), яка перетворює час, виражений у секундах від епохи, на об’єкт time.struct_time за місцевим часом.

приклад: Перетворення struct_time об'єкт до секунд від епохи

Цей код спочатку використовуєtime>модуль для перетворення вказаної позначки часу (1627987508.6496193) у time.struct_time> об’єкт у часовому поясі GMT (середній час за Гринвічем) за допомогою time.gmtime()> . Потім він використовує time.mktime()> щоб перетворити це time.struct_time> об'єкт назад у мітку часу.

Python3




import> time> obj1>=> time.gmtime(>1627987508.6496193>)> time_sec>=> time.mktime(obj1)> print>(>'Local time (in seconds):'>, time_sec)>

>

>

Вихід

Local time (in seconds): 1627987508.0>

метод time.gmtime().

time.gmtime() використовується для перетворення часу, вираженого в секундах з моменту епохи, в об’єкт time.struct_time у форматі UTC, у якому атрибут tm_isdst завжди дорівнює 0. Якщо параметр секунд не вказано, використовується поточний час, який повертає метод time.time().

приклад: Використання time.gmtime() метод

Код використовуєtime>модуль для перетворення вказаної позначки часу (1627987508.6496193) у time.struct_time> об’єкт, що представляє відповідну дату й час у часовому поясі GMT (середній час за Гринвічем).

Python3




import> time> obj>=> time.gmtime(>1627987508.6496193>)> print>(obj)>

>

>

Вихід

time.struct_time(tm_year=2021, tm_mon=8, tm_mday=3, tm_hour=10, tm_min=45, tm_sec=8, tm_wday=1, tm_yday=215, tm_isdst=0)

метод time.strftime().

time.strftime() функція перетворює кортеж або struct_time, що представляє час, повернутий gmtime() або localtime(), у рядок, як зазначено аргументом format. Якщо t не вказано, використовується поточний час, який повертає localtime(). Формат має бути рядком. ValueError виникає, якщо будь-яке поле в t виходить за межі дозволеного діапазону.

приклад: Перетворення struct_time об’єкт до рядка за допомогою методу strftime().

Код використовує gmtime> функція відtime>модуль для перетворення вказаної позначки часу (1627987508.6496193) у відформатований рядок за допомогоюstrftime>. Вихід представляє дату й час у часовому поясі GMT (середній час за Гринвічем) у форматі, визначеному рядком формату.

Python3




python __name__
from> time>import> gmtime, strftime> s>=> strftime(>'%a, %d %b %Y %H:%M:%S'>,> >gmtime(>1627987508.6496193>))> print>(s)>

>

>

Вихід

Tue, 03 Aug 2021 10:45:08>

метод time.asctime().

time.asctime() Метод використовується для перетворення кортежу або об’єкта time.struct_time, що представляє час, який повертає метод time.gmtime() або time.localtime(), у рядок такої форми:

Day Mon Date Hour:Min:Sec Year>

приклад: Перетворення кортежу на об’єкт time.struct_time на рядок

Цей код використовуєtime>модуль для перетворення вказаної мітки часу (1627987508.6496193) у формат дати й часу, зрозумілий людині, використовуючи time.asctime()> . Це робиться як для часового поясу GMT (середній час за Гринвічем), так і для місцевого часового поясу.

Python3




import> time> obj>=> time.gmtime(>1627987508.6496193>)> time_str>=> time.asctime(obj)> print>(time_str)> obj>=> time.localtime(>1627987508.6496193>)> time_str>=> time.asctime(obj)> print>(time_str)>

>

>

Вихід

Tue Aug 3 10:45:08 2021 Tue Aug 3 10:45:08 2021>

метод time.strptime().

Метод time.strptime() перетворює рядок, що представляє час, на об’єкт struct_time.

приклад: Перетворення рядка на struct_time об'єкт.

Цей код використовуєtime>модуль для аналізу відформатованого рядка, що представляє дату й час, і перетворення його на a time.struct_time> об'єкт. Thetime.strptime()>для цієї мети використовується функція.

Python3




import> time> string>=> 'Tue, 03 Aug 2021 10:45:08'> obj>=> time.strptime(string,>'%a, %d %b %Y %H:%M:%S'>)> print>(obj)>

>

>

Вихід

time.struct_time(tm_year=2021, tm_mon=8, tm_mday=3, tm_hour=10, tm_min=45, tm_sec=8, tm_wday=1, tm_yday=215, tm_isdst=-1)