English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Artikel werden wir das Modul time im Detail besprechen. Wir lernen, wie man die verschiedenen mit der Zeit verbundenen Funktionen im Modul time verwendet, indem wir Beispiele durchgehen.
Python hat ein Modul namens time für die Verarbeitung von Zeitbezogenen Aufgaben. Um die in diesem Modul definierten Funktionen zu verwenden, müssen wir das Modul zunächst importieren. So geht's:
import time
Hier sind einige gängige Zeitfunktionen.
Die Funktion time() gibt die Anzahl der Sekunden seit Epoch zurück.
Für Unix-Systeme, January 1, 1970, 00:00:00 inUTCist Epoch (wo die Zeit beginnt).
import time seconds = time.time() print("Seconds since epoch =", seconds)
time.ctime() gibt eine Zeichenkette in der lokalen Zeit zurück, die als Parameter die Anzahl der Sekunden seit Epoch angegeben wird.
import time # Sekunden seit Epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time)
Wenn Sie das Programm ausführen, ähnelt die Ausgabe:
Local time: Thu Dec 27 15:49:29 2018
Die Funktion sleep() pausiert (verzögert) die Ausführung der aktuellen Thread für die angegebene Anzahl von Sekunden.
import time print("Dies wird sofort gedruckt.") time.sleep(2.4) print("Dies ist2.4Nach einer Sekunde abgedruckt. ")
Für weitere Informationen besuchen Sie bitte:sleep() in Python。
Bevor wir andere mit der Zeit verbundenen Funktionen besprechen, lassen Sie uns kurz die Klasse time.struct_time erkunden.
Einige Funktionen im Zeitmodul (z.B. gmtime(), asctime() usw.) verwenden das time.struct_time-Objekt als Parameter oder geben es zurück.
Dies ist ein Beispiel für ein time.struct_time-Objekt.
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 | Attribut | Attributswert |
---|---|---|
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; Montag ist 0 |
7 | tm_yday | 1,2,...,366 |
8 | tm_isdst | 0、1oder-1 |
Man kann den Wert des time.struct_time-Objekts (Elementen) über Index und Attribut aufrufen.
Die Funktion localtime() gibt die Anzahl der Sekunden seit Epoch als Parameter zurück undlocaltimeRückgabe struct_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 ähnlich sein:
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
Wird None oder kein Parameter an localtime() übergeben, wird der Wert von time() verwendet.
Die Funktion gmtime() gibt die Anzahl der Sekunden seit der Ära als Parameter zurück und struct_time inUTCRückgabe.
import time result = time.gmtime(1545925769) print("result:", result) print("\nyear:", result.tm_year) print("tm_hour:", result.tm_hour)
Wenn Sie dieses Programm ausführen, wird ausgegeben:
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
Wird None oder kein Parameter an gmtime() übergeben, wird der Wert von time() verwendet.
Die Funktion mktime() gibt struct_time (oder enthält9Ein Tuple von Elementen entspricht struct_time) als Parameter und gibt die Anzahl der Sekunden seit der Ära des lokalen Zeitraums zurück. Grundsätzlich ist es das Gegenteil 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 das Verhältnis zwischen mktime() und 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)
Wenn Sie das Programm ausführen, wird die Ausgabe ähnlich sein:
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
Die Funktion asctime() gibt struct_time (oder enthält9Ein Tuple des Elements entspricht struct_time) als Parameter und gibt eine Zeichenkette zur Verfügung, die es darstellt. Dies ist ein Beispiel:
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) result = time.asctime(t) print("Ergebnis:", result)
Wenn Sie dieses Programm ausführen, wird ausgegeben:
Ergebnis: Fre, Dez 28 08:44:04 2018
Diese strftime()-Funktion nimmt einen struct_time (oder einen entsprechenden Tuple) als Parameter und gibt eine Zeichenkette zurück, die ihn darstellt. Zum Beispiel,
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 ähnlich sein:
12/28/2018, 09:47:41
Hier sind %Y, %m, %d, %H u.ä. Formatcodes.
%Y -Jahre [0001,...,2018,2019,...,9999]
%m -Monate [01,02,...,11,12]
%d -Tage [01,02,...,30,31]
%H -Stunden [00, 01,...,22,23
%M -Minuten [00, 01,...,58,59]
%S -Sekunden [00, 01,...,58,61]
Für weitere Informationen besuchen Sie bitte:time.strftime()。
Diese strptime()-Funktion analysiert einen Zeitstring und gibt eine struct_time zurück.
import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result)
Wenn Sie dieses Programm ausführen, wird ausgegeben:
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)