In Entwicklung Letztes Updateated:
Teilen:
Cloudways bietet verwaltetes Cloud-Hosting für Unternehmen jeder Größe zum Hosten einer Website oder komplexer Webanwendungen.

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.

Custom data types like datetime need extra modules for conversions. We need modules, especially for datetime conversions as working them was never been easy for programmers. Luckily, python has built-in modules to work with dateZeit.

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.

Why do we need to convert a dateZeitzeichenfolge für die Anzeigeatetime object?

When we have to work with dates, it’s not easy to work if they are in the string format. Converting them to datetime format makes working with them very easy. Dates in strings are like normal strings. It won’t have any special methods to work with dates. It will have general string methods, which we won’t be needing while working with dates.

Let’s say we have to compare two dates. If they are in string format, we can compare them correctly. If they are in datetime Format können wir die Vergleichsoperatoren wie Zahlen verwenden.

Dies ist nur ein Szenario, in dem die Konvertierung zu datetime format makes things easy. There are plenty of scenarios like adding dates, subtracting, handling timezones, etc., where converting 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 third-Party dateutil Module zum Konvertieren der datetime Zeichenfolge an datetime object. Let’s start with the dateZeitmodul

Verwendung von dateZeit

Der datetime is a built-in module of Python which is used to work with dates and times. There are a lot of classes in this module that helps us to work with dates and time. We will be using datetime.datetime Klasse für die Konvertierung.

Der 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

Der 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.

Der datetime.strptime Methode gibt abgeschlossen zurück datetime. If you want to get the date and time separately, we can use the date 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 und time will return their objects respectively. They will again have their respective methods for dates und Zeiten.

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 method as well. It helps us to avoid breaking the code in the middle. This is not specially related to this tutorial context, but it will remind you to use it in your code.

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

Verwendung von datenützlich

Das Modul dateutil bietet Erweiterungen für die datetime module. It makes working with dates and times a lot easier with a lot of methods with easy usage. Let’s install the module with the following command.

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 object format. We don’t need to provide any formatting for this method. It will automatically convert the given datetime String hinein 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

Der 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 can check all the datetime string formats die es für automatische Konvertierungen akzeptiert.

Da die parser.parse Methode gibt zurück datetime Objekt können wir auf das zugreifen date und time objects separately as we have seen with the 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 makes it easier to work with the dates and times comparatively. You can explore the module in the docs.

Schlussfolgerung

We have used one built-in module and one third-party module to convert the datetime string to a DateTime object. There is another built-in module called time womit wir das umwandeln können datetime string to a DateTime object similar to datetime und dateutil modules. Try it yourself. It won’t be hard as you have already done a similar thing with other modules.

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 calculate Zeitunterschied bei Python.

Viel Spaß beim Codieren 🙂

Teilen:
  • Hafeezul Kareem Shaik
    Autor
    Hafeez ist Entwickler und teilt gerne sein Wissen über Python und neue Entwicklungssprachen.

Danke an unsere Sponsoren

Weitere großartige Lektüre zum Thema Entwicklung

Treiben Sie Ihr Geschäft an

Einige der Tools und Services, die Ihrem Unternehmen helfen grow.