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)
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 FacebookVerwandter Artikel - Python String
- Entfernen Kommas aus String in Python
- Wie man prüft, ob eine Zeichenkette auf pythonische Weise leer ist
- Konvertieren einer Zeichenkette in einen Variablennamen in Python
- Wie man Leerzeichen in einem String in Python entfernt
- Wie man in Python Zahlen aus einer Zeichenkette extrahiert