Python time Module
Table of Contents
In diesem Artikel werden wir das Zeitmodul im Detail erkunden. Wir werden lernen, verschiedene zeitbezogene Funktionen, die im Zeitmodul definiert sind, mit Hilfe von Beispielen zu verwenden.
Python hat ein Modul namens time
um zeitbezogene Aufgaben zu erledigen. Um die im Modul definierten Funktionen zu verwenden, müssen wir das Modul zuerst importieren. So geht’s:
import time
Hier finden Sie häufig verwendete zeitbezogene Funktionen.
Python time.time()
Die time()
Funktion gibt die Anzahl der Sekunden zurück, die seit Epoch vergangen sind.
Für Unix-System, January 1, 1970, 00:00:00
at UTC ist Epoche (der Punkt, an dem die Zeit beginnt).
import time seconds = time.time() print("Seconds since epoch =", seconds)
Python time.ctime()
Die time.ctime()
Funktion nimmt die seit der Epoche vergangenen Sekunden als Argument und gibt eine Zeichenkette zurück, die die lokale Zeit darstellt.
import time # seconds passed since epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time)
Wenn Sie das Programm ausführen, wird die Ausgabe in etwa so aussehen:
Local time: Thu Dec 27 15:49:29 2018
Python time.sleep()
Die sleep()
Funktion suspendiert (verzögert) die Ausführung des aktuellen Threads für die angegebene Anzahl von Sekunden.
import time print("Dieser wird sofort gedruckt.") time.sleep(2.4) print("This is printed after 2.4 seconds.")
Um mehr zu erfahren, besuchen Sie: Python sleep().
Bevor wir über andere zeitbezogene Funktionen sprechen, wollen wir uns mit time.struct_time
Klasse in Kürze.
time.struct_time Class
Mehrere Funktionen im time
Modul wie z.B. gmtime()
, asctime()
usw. nehmen entweder time.struct_time
Objekt als Argument verwenden oder es zurückgeben.
Hier ist ein Beispiel für time.struct_time
object.
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)
Index | Attribute | Values |
---|---|---|
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; Monday is 0 |
7 | tm_yday |
1, 2, …, 366 |
8 | tm_isdst |
0, 1 or -1 |
Die Werte (Elemente) des time.struct_time
Objekts sind sowohl über Indizes als auch über Attribute zugänglich.
Python time.localtime()
Die localtime()
Funktion nimmt die Anzahl der seit Epoch vergangenen Sekunden als Argument und gibt struct_time
in local time.
import time result = time.localtime(1545925769) print("result:", result) print("\nyear:", result.tm_year) print("tm_hour:", result.tm_hour)
Wenn Sie das Programm ausführen, wird die Ausgabe in etwa so aussehen:
result: 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
Wenn kein Argument oder None
wird weitergegeben an localtime()
, der von zurückgegebene Wert time()
wird eingesetzt.
Python time.gmtime()
Die gmtime()
Funktion nimmt die Anzahl der seit Epoch vergangenen Sekunden als Argument und gibt struct_time
in UTC.
import time result = time.gmtime(1545925769) print("result:", result) print("\nyear:", result.tm_year) print("tm_hour:", result.tm_hour)
Wenn Sie das Programm ausführen, wird die Ausgabe sein:
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
Wenn kein Argument oder None
wird weitergegeben an gmtime()
, der von zurückgegebene Wert time()
wird eingesetzt.
Python time.mktime()
Die mktime()
Funktion nimmt struct_time
(oder ein Tupel mit 9 Elementen entsprechendstruct_time
) als Argument und gibt die seit der Epoche verstrichenen Sekunden in lokaler Zeit zurück. Im Grunde ist es die Umkehrfunktion von localtime()
.
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) local_time = time.mktime(t) print("Local time:", local_time)
Das folgende Beispiel zeigt, wie mktime()
und localtime()
sind verwandt.
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)
Wenn Sie das Programm ausführen, wird die Ausgabe in etwa so aussehen:
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()
Die asctime()
Funktion nimmt struct_time
(oder ein Tupel mit 9 Elementen entsprechend struct_time
) als Argument und gibt einen String zurück, der es repräsentiert. Hier ist ein Beispiel:
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) result = time.asctime(t) print("Result:", result)
Wenn Sie das Programm ausführen, wird die Ausgabe sein:
Result: Fri Dec 28 08:44:04 2018
Python time.strftime()
Die strftime()
Funktion nimmtstruct_time
(oder ein ihm entsprechendes Tupel) als Argument und gibt eine Zeichenfolge zurück, die es basierend auf dem verwendeten Formatcode darstellt. Beispielsweise,
import time named_tuple = time.localtime() # get struct_time time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple) print(time_string)
Wenn Sie das Programm ausführen, wird die Ausgabe in etwa so aussehen:
12/28/2018, 09:47:41
Hier, %Y
, %m
, %d
, %H
usw. sind Format codes.
%Y
– jahr [0001,…, 2018, 2019,…, 9999]%m
– monat [01, 02, …, 11, 12]%d
– tag [01, 02, …, 30, 31]%H
– stunde [00, 01, …, 22, 23%M
– protokoll [00, 01, …, 58, 59]%S
– zweite [00, 01, …, 58, 61]
Um mehr zu erfahren, besuchen Sie: time.strftime().
Python time.strptime()
Die strptime()
Funktion analysiert einen String, der die Zeit repräsentiert, und gibt zurück struct_time
.
import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
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)