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 time
do 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:00
w 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_time
klasie.
time.struct_time Klasa
Kilka funkcji w time
module, takich jak gmtime()
, asctime()
itd. Albo się time.struct_time
obiektu jako argument lub zwrot.
Oto przykład time.struct_time
obiektu.
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_time
obiektu 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_time
w 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 None
zostanie 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_time
w 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 None
zostanie 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)