Python strptime () - Zeichenfolge zum Datum / Uhrzeit-Objekt

In diesem Artikel lernen Sie, ein datetime-Objekt aus einer Zeichenfolge zu erstellen (anhand von Beispielen).

Die strptime()Methode erstellt aus der angegebenen Zeichenfolge ein Datum / Uhrzeit-Objekt.

Hinweis: Sie können nicht datetimeaus jeder Zeichenfolge ein Objekt erstellen . Die Zeichenfolge muss in einem bestimmten Format vorliegen.

Beispiel 1: Zeichenfolge zum Datum / Uhrzeit-Objekt

  from datetime import datetime date_string = "21 June, 2018" print("date_string =", date_string) print("type of date_string =", type(date_string)) date_object = datetime.strptime(date_string, "%d %B, %Y") print("date_object =", date_object) print("type of date_object =", type(date_object)) 

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 date_string = 21. Juni 2018 Typ von date_string = date_object = 2018-06-21 00:00:00 Typ von date_object = 

Wie funktioniert strptime ()?

Die strptime()Klassenmethode akzeptiert zwei Argumente:

  • Zeichenfolge (die in datetime konvertiert werden soll)
  • Formatcode

Basierend auf der verwendeten Zeichenfolge und dem verwendeten Formatcode gibt die Methode das entsprechende datetimeObjekt zurück.

Im obigen Beispiel:

Hier,

  • %d- Repräsentiert den Tag des Monats. Beispiel: 01, 02,…, 31
  • %B- Name des Monats vollständig. Beispiel: Januar, Februar usw.
  • %Y- Jahr in vier Ziffern. Beispiel: 2018, 2019 usw.

Beispiel 2: Zeichenfolge zum Datum / Uhrzeit-Objekt

  from datetime import datetime dt_string = "12/11/2018 09:15:32" # Considering date is in dd/mm/yyyy format dt_object1 = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print("dt_object1 =", dt_object1) # Considering date is in mm/dd/yyyy format dt_object2 = datetime.strptime(dt_string, "%m/%d/%Y %H:%M:%S") print("dt_object2 =", dt_object2) 

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 dt_object1 = 2018-11-12 09:15:32 dt_object2 = 2018-12-11 09:15:32 

Codeliste formatieren

Die folgende Tabelle zeigt alle Formatcodes, die Sie verwenden können.

Richtlinie Bedeutung Beispiel
%a Abgekürzter Wochentagsname. So, Mo,…
%A Voller Wochentagsname. Sonntag Montag,…
%w Wochentag als Dezimalzahl. 0, 1,…, 6
%d Tag des Monats als null aufgefüllte Dezimalstelle. 01, 02,…, 31
%-d Tag des Monats als Dezimalzahl. 1, 2,…, 30
%b Kurzname des Monats. Jan, Feb,…, Dez.
%B Voller Monatsname. Januar Februar,…
%m Monat als mit Nullen aufgefüllte Dezimalzahl. 01, 02,…, 12
%-m Monat als Dezimalzahl. 1, 2,…, 12
%y Jahr ohne Jahrhundert als null aufgefüllte Dezimalzahl. 00, 01,…, 99
%-y Jahr ohne Jahrhundert als Dezimalzahl. 0, 1,…, 99
%Y Jahr mit Jahrhundert als Dezimalzahl. 2013, 2019 usw.
%H Stunde (24-Stunden-Uhr) als mit Nullen aufgefüllte Dezimalzahl. 00, 01,…, 23
%-H Stunde (24-Stunden-Uhr) als Dezimalzahl. 0, 1,…, 23
%I Stunde (12-Stunden-Uhr) als mit Nullen aufgefüllte Dezimalzahl. 01, 02,…, 12
%-I Stunde (12-Stunden-Uhr) als Dezimalzahl. 1, 2,… 12
%p AM oder PM des Gebietsschemas. AM, PM
%M Minute als mit Nullen aufgefüllte Dezimalzahl. 00, 01,…, 59
%-M Minute als Dezimalzahl. 0, 1,…, 59
%S Zweitens als mit Nullen aufgefüllte Dezimalzahl. 00, 01,…, 59
%-S Zweitens als Dezimalzahl. 0, 1,…, 59
%f Mikrosekunde als Dezimalzahl, links mit Nullen aufgefüllt. 000000 - 999999
%z UTC-Offset in der Form + HHMM oder -HHMM.
%Z Name der Zeitzone.
%j Tag des Jahres als null aufgefüllte Dezimalzahl. 001, 002,…, 366
%-j Tag des Jahres als Dezimalzahl. 1, 2,…, 366
%U Wochennummer des Jahres (Sonntag als erster Tag der Woche). Alle Tage in einem neuen Jahr vor dem ersten Sonntag gelten als Woche 0. 00, 01,…, 53
%W Wochennummer des Jahres (Montag als erster Wochentag). Alle Tage in einem neuen Jahr vor dem ersten Montag gelten als Woche 0. 00, 01,…, 53
%c Die entsprechende Datums- und Uhrzeitdarstellung des Gebietsschemas. Montag, 30. September, 07:06:05 Uhr 2013
%x Die entsprechende Datumsdarstellung des Gebietsschemas. 30.09.13
%X Die entsprechende Zeitdarstellung des Gebietsschemas. 07:06:05
%% Ein wörtliches '%' Zeichen. %.

ValueError in strptime ()

Wenn die Zeichenfolge (erstes Argument) und der Formatcode (zweites Argument), die an übergeben werden, strptime()nicht übereinstimmen, erhalten Sie ValueError. Beispielsweise:

  from datetime import datetime date_string = "12/11/2018" date_object = datetime.strptime(date_string, "%d %m %Y") print("date_object =", date_object) 

Wenn Sie dieses Programm ausführen, wird eine Fehlermeldung angezeigt.

 ValueError: Zeitdaten '12 / 11/2018 'stimmen nicht mit Format'% d% m% Y 'überein 

Empfohlene Lektüre : Python strftime ()

Interessante Beiträge...