Moduł czasu w Pythonie (z przykładami)

W tym artykule szczegółowo zbadamy moduł czasu. Na przykładach nauczymy się korzystać z różnych funkcji czasowych zdefiniowanych w module czasowym.

Python ma moduł nazwany timedo obsługi zadań związanych z czasem. Aby skorzystać z funkcji zdefiniowanych w module, musimy najpierw zaimportować moduł. Oto jak:

 import time

Oto często używane funkcje związane z czasem.

Python time.time ()

Że time()funkcja zwraca liczbę sekund minęło od epoki.

Dla systemu Unix, January 1, 1970, 00:00:00w UTC jest epoka (punkt, w którym rozpoczyna się czas).

 import time seconds = time.time() print("Seconds since epoch =", seconds) 

Python time.ctime ()

time.ctime()Funkcja zajmuje kilka sekund minęło od epoki jako argument i zwraca łańcuch znaków reprezentujący czas lokalny.

 import time # seconds passed since epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time) 

Jeśli uruchomisz program, wynik będzie wyglądał mniej więcej tak:

 Czas lokalny: czw. 27.12.2018 15:49:29

Python time.sleep ()

sleep()Zawiesza funkcyjne (opóźnienia) wykonanie obecnego wątku dla danej liczby sekund.

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

Aby dowiedzieć się więcej, odwiedź: Python sleep ().

Zanim porozmawiamy o innych funkcjach związanych z czasem, przyjrzyjmy się pokrótce time.struct_timeklasie.

time.struct_time Klasa

Kilka funkcji w timemodule, takich jak gmtime(), asctime()itd. Albo się time.struct_timeobiektu jako argument lub zwrot.

Oto przykład time.struct_timeobiektu.

 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) 
Indeks Atrybut Wartości
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; Poniedziałek jest 0
7 tm_yday 1, 2,…, 366
8 tm_isdst 0, 1 lub -1

Wartości (elementy) time.struct_timeobiektu są dostępne zarówno za pomocą indeksów, jak i atrybutów.

Python time.localtime ()

localtime()Funkcja przyjmuje liczbę sekund od epoki przekazywane jako argument i zwrotów struct_timew czasie lokalnym .

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

Po uruchomieniu programu wynik będzie wyglądał mniej więcej tak:

 wynik: 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) year: 2018 tm_hour: 15 

Jeśli żaden argument nie Nonezostanie przekazany localtime(), time()używana jest wartość zwrócona przez .

Python time.gmtime ()

gmtime()Funkcja przyjmuje liczbę sekund od epoki przekazywane jako argument i zwrotów struct_timew UTC .

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

Po uruchomieniu programu wynik będzie następujący:

 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 

Jeśli żaden argument nie Nonezostanie przekazany gmtime(), time()używana jest wartość zwrócona przez .

Python time.mktime ()

mktime()Funkcji zajmuje struct_time(lub krotką zawierający 9 elementy odpowiadające elementom struct_time) jako argument i zwraca sekund upłynął od epoka z czasem lokalnym. Zasadniczo jest to funkcja odwrotna funkcji localtime().

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

Poniższy przykład pokazuje, jak mktime()i localtime()są powiązane.

 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 - miesiąc (01, 02,…, 11, 12)
  • %d - dzień (01, 02,…, 30, 31)
  • %H - godzina (00, 01,…, 22, 23
  • %M - minuty (00, 01,…, 58, 59)
  • %S - sekunda (00, 01,…, 58, 61)

Aby dowiedzieć się więcej, odwiedź: time.strftime ().

Python time.strptime ()

strptime()Funkcja analizuje ciąg reprezentujący czas i powraca struct_time.

 import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result) 

Po uruchomieniu programu wynik będzie następujący:

 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) 

Interesujące artykuły...