Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

So konvertieren Sie String in Datetime in Python

Anleitung zum Konvertieren von Zeichenfolgen in Datetime-in-Python
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Das Konvertieren von einem Datentyp in einen anderen Datentyp ist in jeder Programmiersprache von entscheidender Bedeutung. Fast alle Programmiersprachen unterstützen Typkonvertierungen für eingebaute Datentypen.

Benutzerdefinierte Datentypen wie datetime benötigen zusätzliche Module für Konvertierungen. Wir brauchen Module, vor allem für datetime Konvertierungen, da es für Programmierer nie einfach war, sie zu bearbeiten. Glücklicherweise hat Python eingebaute Module, um mit datetime zu arbeiten.

Wir werden lernen, wie man a umwandelt datetime string zu a datetime Objekt in Python mit different Module. Bevor wir uns damit befassen, wollen wir sehen, warum wir es überhaupt konvertieren müssen.

Warum müssen wir eine Datetime-Zeichenfolge in ein Datetime-Objekt konvertieren?

Wenn wir mit Daten arbeiten müssen, ist es nicht einfach, wenn sie im String-Format vorliegen. Die Konvertierung in das Datetime-Format macht die Arbeit mit ihnen sehr einfach. Daten in Strings sind wie normale Strings. Es wird keine speziellen Methoden geben, um mit Datumsangaben zu arbeiten. Es wird allgemeine String-Methoden haben, die wir bei der Arbeit mit Datumsangaben nicht benötigen.

Nehmen wir an, wir müssen zwei Daten vergleichen. Wenn sie im String-Format vorliegen, können wir sie korrekt vergleichen. Wenn sie drin sind datetime Format können wir die Vergleichsoperatoren wie Zahlen verwenden.

Dies ist nur ein Szenario, in dem die Konvertierung zu datetime Format macht die Sache einfach. Es gibt viele Szenarien wie das Hinzufügen von Datumsangaben, Subtrahieren, Umgang mit Zeitzonen usw., in denen konvertiert wird datetime Zeichenfolge an datetime Objekt macht unser Leben einfacher denn je.

Sehen wir uns nun verschiedene Möglichkeiten zum Konvertieren von a an datetime string zu a datetime Objekt. Wir werden eingebaute verwenden datetime und Drittanbieter dateutil Module zum Konvertieren der datetime Zeichenfolge an datetime Objekt. Beginnen wir mit dem datetime-Modul

Using datetime

Das datetime ist ein eingebautes Modul von Python, das verwendet wird, um mit Datums- und Zeitangaben zu arbeiten. Es gibt viele Klassen in diesem Modul, die uns helfen, mit Datum und Uhrzeit zu arbeiten. Wir werden verwenden datetime.datetime Klasse für den Umbau.

Das datetime.datetime hat viele Methoden. Wir interessieren uns für die strptime Methode, die uns bei der Konvertierung helfen wird. Lass es uns überprüfen.

datetime.strptime

Das datetime.strptime Methode wird zum Konvertieren verwendet datetime string zu a datetime Objekt. Es braucht zwei Saiten, eine ist datetime string und das andere ist das Format davon datetime Schnur. Und es gibt die zurück datetime Objekt.

Lass uns ein Beispiel sehen

from datetime import datetime

string = "19-12-2022 09:37:56 PM"
formatting = "%d-%m-%Y %I:%M:%S %p"
print(datetime.strptime(string, formatting))

Wenn Sie den obigen Code ausführen, sehen Sie die folgende Ausgabe.

2022-12-19 21:37:56

Wir haben ein genommen datetime string und umgewandelt in datetime Objekt mit datetime.strptime Methode. Stellen Sie sicher, dass das Format, das Sie der Methode bereitstellen, genau mit dem übereinstimmt datetime Schnur. Wenn sie nicht übereinstimmen, erhalten Sie möglicherweise einen Fehler oder eine falsche Ausgabe.

Wir haben einige Formatierungscodes für die verwendet datetime Format. Sie können sich auf alle beziehen Formatcodes in den Dokumenten.

Das datetime.strptime Methode gibt abgeschlossen zurück datetime. Wenn Sie Datum und Uhrzeit separat erhalten möchten, können wir das Datum verwenden time Methoden von datetime Objekt. Sehen wir uns den Code an.

from datetime import datetime

string = "19-12-2022 09:37:56 PM"
formatting = "%d-%m-%Y %I:%M:%S %p"

## getting date separately
print("Date:", datetime.strptime(string, formatting).date())

## getting time separately
print("Time:", datetime.strptime(string, formatting).time())

Führen Sie den obigen Code aus und Sie sehen die folgende Ausgabe.

Date: 2022-12-19
Time: 21:37:56

Die Methoden date funktioniert time werden ihre Objekte entsprechend zurückgeben. Sie werden wieder ihre jeweiligen Methoden für Daten und Zeiten haben.

Wir haben die richtigen Zeichenfolgen und Formate für die bereitgestellt datetime.strptime Methode, die wir oben gesehen haben. Wenn wir sie nicht korrekt angegeben haben, erhalten wir Fehler. Mal sehen, wie man mit diesen Fehlern umgeht. Führen Sie den folgenden Code aus.

from datetime import datetime

string = "19:12:2022 09:37:56 PM"
formatting = "%d-%m-%Y %I:%M:%S %p"
print(datetime.strptime(string, formatting))

Der obige Code löst einen Fehler aus, da die Formatierung nicht mit der übereinstimmt datetime Schnur. Um diese Art von Fehlern zu behandeln, können wir Pythons try-außer verwenden. Lassen Sie es uns hinzufügen.

from datetime import datetime

try:
    string = "19:12:2022 09:37:56 PM"
    formatting = "%d-%m-%Y %I:%M:%S %p"
    print(datetime.strptime(string, formatting))
except ValueError as error:
    print(error)

Führen Sie den Code jetzt erneut aus. Sie werden die folgende Fehlermeldung sehen, ohne den Code zu brechen.

time data '19:12:2022 09:37:56 PM' does not match format '%d-%m-%Y %I:%M:%S %p'

In ähnlicher Weise können wir das Try-außer für das Kommende hinzufügen parser.parse Methode ebenso. Es hilft uns zu vermeiden, den Code mittendrin zu brechen. Dies bezieht sich nicht speziell auf diesen Lernprogrammkontext, erinnert Sie jedoch daran, es in Ihrem Code zu verwenden.

Das war's für die datetime Modul. Kommen wir zum nächsten Modul dateutil.

Using dateutil

Das Modul dateutil bietet Erweiterungen für die datetime Modul. Es macht das Arbeiten mit Datum und Uhrzeit viel einfacher mit vielen Methoden mit einfacher Verwendung. Lassen Sie uns das Modul mit dem folgenden Befehl installieren.

pip install python-dateutil

Die Methode, die uns interessiert, ist dateutil.parser.parse. Mal sehen, wie man umwandelt datetime Zeichenfolge an datetime Objekt.

parser.parse

Das Verfahren parser.parse wird ein nehmen datetime string und wandelt sie in eine entsprechende um datetime Objektformat. Wir müssen für diese Methode keine Formatierung bereitstellen. Es konvertiert automatisch die angegebenen datetime String in datetime Objekt. Sehen wir uns ein Beispiel an.

from dateutil import parser

string = "19-12-2022 09:37:56 PM"
print(parser.parse(string))

Wenn Sie den obigen Code ausführen, sehen Sie die folgende Ausgabe.

2022-12-19 21:37:56

Das datetime Zeichenfolge muss in einem bestimmten Format vorliegen, das die parser.parse Methode akzeptiert. Es wird einen Fehler auslösen, wenn die datetime Das Zeichenfolgenformat entspricht nicht dem gewünschten Format. Du kann alle Datetime-String-Formate überprüfen die es für automatische Konvertierungen akzeptiert.

Da die parser.parse Methode gibt zurück datetime Objekt können wir auf das zugreifen date funktioniert time Objekte getrennt, wie wir bei der gesehen haben datetime Modul. Sehen wir uns den Code an.

from dateutil import parser

string = "19-12-2022 09:37:56 PM"
print("Date:", parser.parse(string).date())
print("Time:", parser.parse(string).time())

Sie können die folgende Ausgabe sehen, wenn Sie den obigen Code ausführen.

Date: 2022-12-19
Time: 21:37:56

Wie Sie sehen können dateutil erleichtert vergleichsweise die Arbeit mit Datum und Uhrzeit. Sie können das Modul im erkunden docs.

Fazit

Wir haben ein eingebautes Modul und ein Modul eines Drittanbieters verwendet, um die zu konvertieren datetime string zu einem DateTime-Objekt. Es gibt ein weiteres eingebautes Modul namens time womit wir das umwandeln können datetime string zu einem DateTime-Objekt ähnlich wie datetime funktioniert dateutil Module. Versuch es selber. Es wird nicht schwer sein, da Sie ähnliches bereits mit anderen Modulen gemacht haben.

Es könnte noch mehr Bibliotheken geben, mit denen wir dasselbe erreichen können. Die Module, die wir im Thing-Tutorial verwendet haben, sind Standard und weit verbreitet. Sie können mehr über andere Module erfahren und das für Sie am besten geeignete auswählen.

Sie können auch erkunden, wie es geht Zeitunterschied berechnen bei Python.

Viel Spaß beim Codieren 🙂

Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Entwicklung
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder