Python Programming

Python: Datum und Uhrzeit – Meister der Konvertierung

Spread the love

Python bietet leistungsstarke Werkzeuge für die Arbeit mit Datums- und Zeitangaben. Oftmals müssen Datums- und Zeitangaben in Zeichenketten in datetime-Objekte konvertiert werden, um die Manipulation und Analyse zu vereinfachen. Dieser Artikel untersucht verschiedene Methoden zur Durchführung dieser Konvertierung mit Fokus auf Flexibilität und Fehlerbehandlung.

Inhaltsverzeichnis

Verwendung von datetime.strptime()

Die Funktion datetime.strptime() ist eine gängige Wahl für die Konvertierung von Zeichenketten in datetime-Objekte. Sie benötigt zwei Argumente:

  1. date_string: Die Zeichenkette, die die Datums- und/oder Zeitinformationen enthält.
  2. format: Eine Formatzeichenkette, die angibt, wie Datum und Zeit in date_string dargestellt werden.

Die Formatzeichenkette verwendet Direktiven, um verschiedene Teile des Datums und der Zeit darzustellen. Hier sind einige wichtige Direktiven:

Direktive Bedeutung Beispiel
%Y Jahr mit Jahrhundert 2024
%y Jahr ohne Jahrhundert 24
%m Monat (01-12) 03
%d Tag des Monats (01-31) 15
%H Stunde (24-Stunden-Uhr, 00-23) 14
%I Stunde (12-Stunden-Uhr, 01-12) 02
%p AM/PM PM
%M Minute (00-59) 30
%S Sekunde (00-59) 00
%f Mikrosekunde (000000-999999) 123456
%A Wochentag (vollständig) Montag
%a Wochentag (abgekürzt) Mon
%B Monatsname (vollständig) März
%b Monatsname (abgekürzt) Mär

Die Reihenfolge der Direktiven in der Formatzeichenkette muss mit der Reihenfolge in der Datumszeichenkette übereinstimmen.


from datetime import datetime

date_string = "2024-03-15 14:30:00"
format = "%Y-%m-%d %H:%M:%S"

datetime_object = datetime.strptime(date_string, format)
print(datetime_object)  # Ausgabe: 2024-03-15 14:30:00

Alternative Konvertierungsmethoden

Für komplexere oder weniger Standard-Datumsformate sollten Bibliotheken wie dateutil verwendet werden:


from dateutil import parser

date_string = "March 15th, 2024 2:30 PM"
datetime_object = parser.parse(date_string)
print(datetime_object)

Robuste Fehlerbehandlung

strptime sollte immer in einen try-except-Block eingebunden werden, um mögliche ValueError-Ausnahmen zu behandeln:


try:
    datetime_object = datetime.strptime(date_string, format)
except ValueError as e:
    print(f"Fehler beim Konvertieren der Datumszeichenkette: {e}")

Handhabung verschiedener Datums- und Zeitformate

Bei unterschiedlichen Eingabeformaten muss die Zeichenkette möglicherweise vorverarbeitet oder reguläre Ausdrücke verwendet werden, um die Datumsbestandteile zu extrahieren, bevor strptime oder dateutil.parser angewendet werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert