Pythons time-Modul meistern: Funktionen, Structs und praktische Beispiele
Python time-Modul
Erkunden Sie das Standard-time-Modul in Python, lernen Sie seine Kernfunktionen kennen und sehen Sie klare Beispiele für die reale Anwendung.
Pythons time-Modul stellt Werkzeuge für die Arbeit mit Zeitstempeln, Scheduling und der Messung verstrichener Zeit bereit. Bevor Sie eine Funktion verwenden, importieren Sie das Modul:
import time
time.time()
Die Funktion time() gibt die aktuelle Zeit in Sekunden seit der Unix-Epoche (00:00:00 UTC am 1. Januar 1970) zurück. Auf Unix-ähnlichen Systemen ist dieser Epoche-Wert festgelegt; auf Windows wird er vom gleichen Punkt abgeleitet.
import time
seconds = time.time()
print("Sekunden seit Epoche =", seconds)
time.ctime()
Konvertiert einen POSIX-Zeitstempel (Sekunden seit Epoche) in einen lesbaren String in der lokalen Zeitzone.
import time
seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("Lokale Zeit:", local_time)
Typische Ausgabe:
Lokale Zeit: Thu Dec 27 15:49:29 2018
time.sleep()
Verzögert die Ausführung des aktuellen Threads für die angegebene Anzahl an Sekunden.
import time
print("Dies wird sofort ausgegeben.")
time.sleep(2.4)
print("Dies wird nach 2,4 Sekunden ausgegeben.")
Weitere Details finden Sie in der Python sleep()-Dokumentation.
time.struct_time Klasse
Funktionen wie gmtime() und asctime() geben ein time.struct_time-Objekt zurück oder akzeptieren es – ein 9-Tupel, das eine Kalenderzeit darstellt.
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 | Werte |
|---|---|---|
| 0 | tm_year | 0000 … 9999 |
| 1 | tm_mon | 1 … 12 |
| 2 | tm_mday | 1 … 31 |
| 3 | tm_hour | 0 … 23 |
| 4 | tm_min | 0 … 59 |
| 5 | tm_sec | 0 … 61 |
| 6 | tm_wday | 0 (Mo) … 6 (So) |
| 7 | tm_yday | 1 … 366 |
| 8 | tm_isdst | 0, 1 oder -1 |
Sie können auf Elemente entweder über den Index oder den Attributnamen zugreifen.
time.localtime()
Konvertiert einen POSIX-Zeitstempel in ein struct_time, ausgedrückt in der lokalen Zeitzone. Wird das Argument weggelassen, wird die aktuelle Zeit verwendet.
import time
result = time.localtime(1545925769)
print("Ergebnis:", result)
print("\nJahr:", result.tm_year)
print("tm_hour:", result.tm_hour)
Typische Ausgabe:
Ergebnis: 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) Jahr: 2018 tm_hour: 15
time.gmtime()
Gleich wie localtime(), gibt aber UTC-Zeit (GMT) zurück. Wird das Argument weggelassen, wird der aktuelle Epoche-Wert verwendet.
import time
result = time.gmtime(1545925769)
print("Ergebnis:", result)
print("\nJahr:", result.tm_year)
print("tm_hour:", result.tm_hour)
Typische Ausgabe:
Ergebnis: 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) Jahr: 2018 tm_hour: 8
time.mktime()
Konvertiert ein lokales struct_time (oder sein 9-Tupel) zurück in einen POSIX-Zeitstempel. Es ist effektiv die Inverse von localtime().
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
local_time = time.mktime(t)
print("Lokale Zeit:", local_time)
Beispiel für den Round-Trip:
import time
seconds = 1545925769
t = time.localtime(seconds)
print("t1:", t)
s = time.mktime(t)
print("\ns:", s)
Typische Ausgabe:
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
time.asctime()
Formatiert ein struct_time (oder Tupel) in einen menschenlesbaren String.
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
result = time.asctime(t)
print("Ergebnis:", result)
Typische Ausgabe:
Ergebnis: Fri Dec 28 08:44:04 2018
time.strftime()
Formatiert ein struct_time basierend auf Formatcodes in einen benutzerdefinierten String.
import time
named_tuple = time.localtime()
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)
print(time_string)
Typische Ausgabe:
12/28/2018, 09:47:41
Gängige Formatcodes umfassen:
%Y– volles Jahr (z. B. 2018)%m– Monat 01–12%d– Tag 01–31%H– Stunde 00–23%M– Minute 00–59%S– Sekunde 00–61 (Schaltsekunden)
Für weitere Formatcodes siehe die time.strftime()-Dokumentation.
time.strptime()
Parst einen String gemäß eines angegebenen Formats und gibt ein struct_time zurück.
import time
time_string = "21 June, 2018"
result = time.strptime(time_string, "%d %B, %Y")
print(result)
Typische 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)
Python
- Python-Schlüsselwörter & Bezeichner: Reservierte Wörter & Benennungskonventionen meistern
- Python-Datentypen meistern: Praxisleitfaden
- Python-Operatoren meistern: Umfassender Leitfaden
- Python-Funktionsargumente meistern: Positional, Keyword & Default-Parameter
- Python-Module: Erstellung, Import & fortgeschrittene Nutzung
- Python-Dictionaries meistern: Erstellung, Manipulation und fortgeschrittene Techniken
- Python Reguläre Ausdrücke (re Modul) – Ein praktischer Leitfaden
- Aktuelles Datum und Uhrzeit in Python abrufen: Praktischer Leitfaden
- Python: Aktuelle Uhrzeit und Zeitzonendaten einfach abrufen
- Pythons time.sleep() meistern: Best Practices, Multithreading und Praxisbeispiele