So handhaben Sie Datums- und Uhrzeitangaben in Python mit datetime
Der Umgang mit Datum und Uhrzeit ist eine gängige Aufgabe in der Programmierung, und Python bietet ein integriertes Modul namens datetime
zum Arbeiten mit Datum und Uhrzeit. Dieses Modul bietet Klassen zum Bearbeiten von Datum, Uhrzeit und Zeitintervallen, wodurch die Durchführung von Datumsarithmetik, das Formatieren von Datumsangaben und die Verwaltung von Zeitzonen einfacher wird. In diesem Artikel erfahren Sie, wie Sie das Modul datetime
verwenden, um Datum und Uhrzeit in Python effektiv zu handhaben.
Erste Schritte mit datetime
Das Modul datetime
bietet mehrere Klassen, wie datetime.date
, datetime.time
, datetime.datetime
, datetime.timedelta
und datetime.tzinfo
. Diese Klassen ermöglichen uns die Arbeit mit Daten, Zeiten und Zeitintervallen.
Um das Modul datetime
zu verwenden, müssen Sie es importieren:
import datetime
Mit Datumsangaben arbeiten
Sie können ein Datumsobjekt mit der Klasse date
erstellen. Dafür sind drei Parameter erforderlich: Jahr, Monat und Tag.
from datetime import date
# Create a date object
my_date = date(2023, 9, 4)
print(my_date) # Output: 2023-09-04
Sie können auch auf einzelne Bestandteile des Datums zugreifen, wie etwa Jahr, Monat und Tag:
print(my_date.year) # Output: 2023
print(my_date.month) # Output: 9
print(my_date.day) # Output: 4
Arbeiten mit Zeiten
Mit der Klasse time
können Sie ein Zeitobjekt erstellen. Sie erfordert Stunden, Minuten, Sekunden und Mikrosekunden (optional).
from datetime import time
# Create a time object
my_time = time(14, 30, 45)
print(my_time) # Output: 14:30:45
Ähnlich wie bei Datumsangaben können Sie auf einzelne Komponenten des Zeitobjekts zugreifen:
print(my_time.hour) # Output: 14
print(my_time.minute) # Output: 30
print(my_time.second) # Output: 45
Kombinieren von Datum und Uhrzeit mit datetime
Die Klasse datetime
kombiniert Datum und Uhrzeit in einem einzigen Objekt. Sie können ein datetime
-Objekt erstellen, indem Sie Jahr, Monat, Tag, Stunde, Minute, Sekunde und Mikrosekunde (optional) übergeben.
from datetime import datetime
# Create a datetime object
my_datetime = datetime(2023, 9, 4, 14, 30, 45)
print(my_datetime) # Output: 2023-09-04 14:30:45
Sie können sowohl auf die Datums- als auch auf die Zeitkomponenten eines datetime
-Objekts zugreifen:
print(my_datetime.date()) # Output: 2023-09-04
print(my_datetime.time()) # Output: 14:30:45
Abrufen des aktuellen Datums und der aktuellen Uhrzeit
Das Modul datetime
bietet praktische Methoden, um das aktuelle Datum, die aktuelle Uhrzeit oder beides abzurufen:
# Current date
today = date.today()
print(today) # Output: (current date)
# Current date and time
now = datetime.now()
print(now) # Output: (current date and time)
Datumsarithmetik mit timedelta
Die Klasse timedelta
stellt eine Dauer dar, also die Differenz zwischen zwei Daten oder Zeiten. Sie ermöglicht Ihnen, Datumsarithmetik durchzuführen, wie z. B. das Addieren oder Subtrahieren von Tagen zu einem Datum.
from datetime import timedelta
# Create a timedelta object
delta = timedelta(days=7)
# Add 7 days to the current date
future_date = today + delta
print(future_date)
Sie können auch die Differenz zwischen zwei Daten berechnen:
# Calculate the difference between two dates
date1 = date(2023, 9, 4)
date2 = date(2023, 9, 11)
difference = date2 - date1
print(difference.days) # Output: 7
Formatieren von Datums- und Uhrzeitangaben
Mit der Methode strftime()
können Sie ein Datum oder eine Uhrzeit in eine Zeichenfolge formatieren. Diese Methode verwendet einen Formatcode, um das gewünschte Format anzugeben:
# Format a date object
formatted_date = today.strftime('%B %d, %Y')
print(formatted_date) # Output: September 04, 2023
Zu den gängigen Formatcodes gehören:
%Y
– Jahr (z. B. 2023)%m
- Monat als mit Nullen aufgefüllte Dezimalzahl (z. B. 09)%d
– Tag des Monats als mit Nullen aufgefüllte Dezimalzahl (z. B. 04)%H
- Stunde (24-Stunden-Uhr) als mit Nullen aufgefüllte Dezimalzahl (z. B. 14)%M
– Minute als mit Nullen aufgefüllte Dezimalzahl (z. B. 30)%S
- Sekunde als mit Nullen aufgefüllte Dezimalzahl (z. B. 45)
Analysieren von Daten aus Zeichenfolgen
Mit der Methode strptime()
können Sie einen String in ein datetime
-Objekt konvertieren, wobei das Format des Datumsstrings angegeben wird:
# Parse a date from a string
date_str = '2023-09-04'
parsed_date = datetime.strptime(date_str, '%Y-%m-%d')
print(parsed_date)
Arbeiten mit Zeitzonen
Das Modul datetime
unterstützt zeitzonenabhängige datetime
-Objekte mithilfe der Bibliothek pytz
. Um mit Zeitzonen arbeiten zu können, müssen Sie pytz
installieren:
pip install pytz
Anschließend können Sie einem datetime
-Objekt eine Zeitzone zuweisen:
from datetime import datetime
import pytz
# Set timezone to UTC
utc_zone = pytz.utc
now_utc = datetime.now(utc_zone)
print(now_utc)
Abschluss
Das Modul datetime
in Python bietet leistungsstarke Tools für die Verarbeitung von Datums- und Uhrzeitangaben, einschließlich der Erstellung, Formatierung, Analyse und Berechnung von Datums- und Uhrzeitobjekten. Ob Sie Datumsangaben bearbeiten, mit Zeitzonen arbeiten oder Datums- und Uhrzeitangaben für die Anzeige formatieren müssen, das Modul datetime
bietet Ihnen alles.