Модуль часу Python (з прикладами)

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

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 passed since epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time) 

Якщо ви запустите програму, результат буде приблизно таким:

 Місцевий час: чт 27 грудня 15:49:29 2018

Python time.sleep ()

sleep()Функція призупиняє (затримки) виконання поточного потоку для заданого кількості секунд.

 import time print("This is printed immediately.") time.sleep(2.4) print("This is printed after 2.4 seconds.") 

Щоб дізнатись більше, відвідайте: Сон Python ().

Перш ніж ми поговоримо про інші функції, пов'язані з часом, давайте time.struct_timeкоротко вивчимо клас.

Клас time.struct_time

Деякі функції в 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) 
Індекс Атрибут Цінності
0 tm_year 0000,…., 2018,…, 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; Понеділок - 0
7 tm_yday 1, 2,…, 366
8 tm_isdst 0, 1 або -1

Значення (елементи) time.struct_timeоб’єкта доступні як за допомогою індексів, так і атрибутів.

Python time.localtime ()

localtime()Функція приймає кількість секунд , що пройшли з епохи в якості аргументу , і повертається struct_timeв по місцевим часом .

 import time result = time.localtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour) 

Коли ви запускаєте програму, результат буде приблизно таким:

 результат: 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()Функція приймає кількість секунд , що пройшли з епохи в якості аргументу , і повертається struct_timeв UTC .

 import time result = time.gmtime(1545925769) print("result:", result) print("year:", 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) рік = 2018 tm_hour = 8 

Якщо аргумент або аргумент Noneне передано gmtime(), використовується значення, яке повертається time().

Python time.mktime ()

mktime()Функція приймає struct_time(або кортеж , що містять 9 елементів , відповідних struct_time) в якості аргументу і повертає секунди , що минув з епохи за місцевим часом. В основному це обернена функція localtime().

 import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) local_time = time.mktime(t) print("Local time:", local_time) 

У наведеному нижче прикладі показано , як mktime()і localtime()пов'язані між собою .

 import time seconds = 1545925769 # returns struct_time t = time.localtime(seconds) print("t1: ", t) # returns seconds from struct_time s = time.mktime(t) print("s:", seconds) 

When you run the program, the output will be something like:

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

The asctime() function takes struct_time (or a tuple containing 9 elements corresponding to struct_time) as an argument and returns a string representing it. Here's an example:

 import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) result = time.asctime(t) print("Result:", result) 

When you run the program, the output will be:

 Result: Fri Dec 28 08:44:04 2018

Python time.strftime()

The strftime() function takes struct_time (or tuple corresponding to it) as an argument and returns a string representing it based on the format code used. For example,

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

When you run the program, the output will be something like:

 12/28/2018, 09:47:41 

Here, %Y, %m, %d, %H etc. are format codes.

  • %Y - year (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()Функція аналізує рядок , що представляє час і повертається 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) 

Цікаві статті...