Python bietet verschiedene Möglichkeiten, die aktuelle Uhrzeit abzurufen, jede mit ihren eigenen Stärken und Schwächen. Dieser Artikel führt Sie durch drei gängige Methoden: die Verwendung der Bibliotheken datetime
, time
und arrow
.
Inhaltsverzeichnis
- Verwenden des
datetime
-Moduls - Verwenden des
time
-Moduls - Verwenden der
arrow
-Bibliothek - Behandlung von Zeitzonen
- Formatierung der Zeit-Ausgabe
- Fazit
Verwenden des datetime
-Moduls
Das datetime
-Modul ist Teil der Python-Standardbibliothek. Um die aktuelle Uhrzeit zu erhalten, verwenden Sie datetime.now()
:
import datetime
now = datetime.datetime.now()
print(now)
Dies gibt das aktuelle Datum und die aktuelle Uhrzeit aus. Sie können auf einzelne Komponenten zugreifen:
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second
microsecond = now.microsecond
print(f"Die aktuelle Uhrzeit ist: {hour}:{minute}:{second}")
Verwenden des time
-Moduls
Das time
-Modul gibt die Uhrzeit als Zeitstempel zurück (Sekunden seit der Epoche).
import time
timestamp = time.time()
print(timestamp) # Sekunden seit der Epoche
Dies ist nützlich für die Berechnung von Zeitdifferenzen. Um in ein lesbares Format zu konvertieren, verwenden Sie datetime
:
import time
import datetime
timestamp = time.time()
current_time = datetime.datetime.fromtimestamp(timestamp)
print(current_time)
Verwenden der arrow
-Bibliothek
Die arrow
-Bibliothek (pip install arrow
) bietet eine benutzerfreundlichere Oberfläche, insbesondere für Zeitzonen und Formatierung:
import arrow
now = arrow.now()
print(now)
Behandlung von Zeitzonen
Für zeitzonenbewusste Operationen verwenden Sie die pytz
-Bibliothek mit datetime
oder nutzen Sie die integrierten Funktionen von arrow
:
import datetime
import pytz
tz = pytz.timezone('America/Los_Angeles')
now = datetime.datetime.now(tz)
print(now)
#Mit arrow
import arrow
pacific_time = arrow.now('US/Pacific')
print(pacific_time)
Formatierung der Zeit-Ausgabe
Verwenden Sie strftime()
mit datetime
oder die Formatierungsmethoden von arrow
für eine angepasste Ausgabe:
import datetime
now = datetime.datetime.now()
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_time)
import arrow
formatted_time = arrow.now().format("YYYY-MM-DD HH:mm:ss ZZ")
print(formatted_time)
Fazit
datetime
wird im Allgemeinen aufgrund seiner Benutzerfreundlichkeit und seiner Einbindung in die Standardbibliothek empfohlen. time
eignet sich für Low-Level-Zeitstempeloperationen, und arrow
vereinfacht die Zeitzonenbehandlung und -formatierung, erfordert aber eine zusätzliche Installation.