Wie man in Python String in datetime konvertiert

Jinku Hu 10 Oktober 2023
  1. datetime.strptime() um String in datetime zu konvertieren
  2. Python datetime.strptime() Beispiele
Wie man in Python String in datetime konvertiert

Dieses Tutorial führt ein, wie man string in Python in datetime konvertiert und listet auch einige Beispielcodes auf, um populäre datetime string Formate abzudecken.

datetime.strptime() um String in datetime zu konvertieren

Im vorherigen Tutorial haben wir gelernt wie man die Datumszeit im String-Format mit der Methode datetime.strftime() erhält. Wir werden die datetime.strptime() Methode verwenden, um die Revere Konvertierung durchzuführen, um das datetime Objekt zu erhalten. f und p bedeuten in diesen beiden Methoden format bzw. parse.

Die Methode datetime.strptime() parst den Eingabestring mit dem angegebenen datetime Format und gibt das datetime Objekt zurueck.

Das Basisbeispiel zur Verwendung dieser strptime() Methode ist unten dargestellt,

from datetime import datetime

datetime.strptime("2018-01-31", "%Y-%m-%d")

Das Ergebnis wird sein

datetime.datetime(2018, 1, 31, 0, 0)

Die Direktiven der Stringformat-Codes sind hier zu Ihrer Information aufgelistet

Richtlinie Bedeutung Beispiel
%a Wochentag als abgekürzter Name des Gebietsschemas. Sun, Mon, …, Sat (en_US);So, Mo, …, Sa (de_DE)
%A Wochentag als vollständiger Name des Gebietsschemas. Sunday, Monday, …, Saturday (en_US);Sonntag, Montag, …, Samstag (de_DE)
%w Wochentag als Dezimalzahl, wobei 0 für Sonntag und 6 für Samstag steht. 0, 1, …, 6
%d Tag des Monats als nullgefüllte Dezimalzahl. 01, 02, …, 31
%b Monat als abgekürzter Name des Gebietsschemas. Jan, Feb, …, Dec (en_US);Jan, Feb, …, Dez (de_DE)
%B Monat als vollständiger Name des Gebietsschemas. January, February, …, December (en_US);Januar, Februar, …, Dezember (de_DE)
%m Monat als nullgefüllte Dezimalzahl. 01, 02, …, 12
%y Jahr ohne Jahrhundert als nullgefüllte Dezimalzahl. 00, 01, …, 99
%Y Jahr mit Jahrhundert als Dezimalzahl. 0001, 0002, …, 2013, 2014, …, 9998, 9999
%H Stunde (24-Stunden-Uhr) als nullgefüllte Dezimalzahl. 00, 01, …, 23
%I Stunde (12-Stunden-Uhr) als nullgefüllte Dezimalzahl. 01, 02, …, 12
%p Das Äquivalent der Locale ist entweder AM oder PM. AM, PM (en_US);am, pm (de_DE)
%M Minute als nullgefüllte Dezimalzahl. 00, 01, …, 59
%S Zweitens als nullgefüllte Dezimalzahl. 00, 01, …, 59
%f Mikrosekunde als Dezimalzahl, links mit Null aufgefüllt. 000000, 000001, …, 999999
%z UTC-Offset in der Form ±HHHMM[SS] (leerer String, wenn das Objekt naiv ist) (leer), +0000, -0400, +1030
%Z Name der Zeitzone (leerer String, wenn das Objekt naiv ist). (leer), UTC, EST, CST
%j Tag des Jahres als nullgefüllte Dezimalzahl. 001, 002, …, 366
%U Wochennummer des Jahres (Sonntag als erster Tag der Woche) als nullgefüllte Dezimalzahl. Alle Tage im neuen Jahr, die dem ersten Sonntag vorausgehen, gelten als in Woche 0 liegend. 00, 01, …, 53
%W Wochennummer des Jahres (Montag als erster Tag der Woche) als Dezimalzahl. Alle Tage im neuen Jahr, die dem ersten Montag vorausgehen, gelten als in Woche 0 liegend. 00, 01, …, 53
%c Entsprechende Datums- und Zeitdarstellung des Gebietsschemas. Tue Aug 16 21:30:00 1988 (de_US);Di 16 Aug 21:30:00 1988 (de_DE)
%x Die entsprechende Datumsdarstellung des Gebietsschemas. 16.08.88 (keine);16.08.1988 (de_US);16.08.1988 (de_DE)
%X Die angemessene Zeitdarstellung des Gebietsschemas. 21:30:00 (en_US);21:30:00 (de_DE)
%% Ein wörtliches %% Zeichen. %

Python datetime.strptime() Beispiele

7-Mai-2013 datetime Format

from datetime import datetime

dateString = "7-May-2018"
dateFormatter = "%u-%b-%Y"
datetime.strptime(dateString, dateFormatter)

Ausgabe

datetime.datetime(2013, 5, 1, 0, 0)

31/12/2018 datetime format

from datetime import datetime

dateString = "31/12/2013"
dateFormatter = "%d/%m/%Y"
datetime.strptime(dateString, dateFormatter)

Ausgabe

datetime.datetime(2013, 12, 31, 0, 0)

Mon, 16 Juli 2018 datetime Format

from datetime import datetime

dateString = "31/12/2013"
dateFormatter = "%d/%m/%Y"
datetime.strptime(dateString, dateFormatter)

Ausgabe

datetime.datetime(2018, 7, 16, 0, 0)

Montag, 16 Juli 2018 20:01:56 Datum-Zeit Format

from datetime import datetime

dateString = "Monday, July 16, 2018 20:01:56"
dateFormatter = "%A, %B %d, %Y %H:%M:%S"
datetime.strptime(dateString, dateFormatter)

Ausgabe:

datetime.datetime(2018, 7, 16, 20, 1, 56)
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Verwandter Artikel - Python String

Verwandter Artikel - Python DateTime