In diesem Artikel erfahren Sie, wie Sie Datums-, Uhrzeit- und Datums- / Uhrzeitobjekte in die entsprechende Zeichenfolge konvertieren (anhand von Beispielen).
Die strftime()
Methode gibt eine Zeichenfolge zurück, die Datum und Uhrzeit mithilfe von Datum, Uhrzeit oder Datum / Uhrzeit darstellt.
Beispiel 1: datetime to string using strftime ()
Das folgende Programm konvertiert ein datetime
Objekt mit aktuellem Datum und Uhrzeit in verschiedene Zeichenfolgenformate.
from datetime import datetime now = datetime.now() # current date and time year = now.strftime("%Y") print("year:", year) month = now.strftime("%m") print("month:", month) day = now.strftime("%d") print("day:", day) time = now.strftime("%H:%M:%S") print("time:", time) date_time = now.strftime("%m/%d/%Y, %H:%M:%S") print("date and time:",date_time)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Jahr: 2018 Monat: 12 Tag: 24 Uhrzeit: 04:59:31 Datum und Uhrzeit: 24.12.2008, 04:59:31 Uhr
Hier sind Jahr, Tag, Uhrzeit und Datum_Zeit Zeichenfolgen, während jetzt ein datetime
Objekt ist.
Wie funktioniert strftime ()?
In dem obigen Programm %Y
, %m
, %d
usw. sind Formatcodes. Die strftime()
Methode verwendet einen oder mehrere Formatcodes als Argument und gibt eine darauf basierende formatierte Zeichenfolge zurück.
- Wir haben die
datetime
Klasse aus demdatetime
Modul importiert . Dies liegt daran, dass das Objekt derdatetime
Klasse auf diestrftime()
Methode zugreifen kann. - Das
datetime
Objekt mit dem aktuellen Datum und der aktuellen Uhrzeit wird in der Variablen now gespeichert. - Mit dieser
strftime()
Methode können formatierte Zeichenfolgen erstellt werden. - Die Zeichenfolge, die Sie an die
strftime()
Methode übergeben, kann mehr als einen Formatcode enthalten.
Beispiel 2: Erstellen einer Zeichenfolge aus einem Zeitstempel
from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) print("Date time object:", date_time) d = date_time.strftime("%m/%d/%Y, %H:%M:%S") print("Output 2:", d) d = date_time.strftime("%d %b, %Y") print("Output 3:", d) d = date_time.strftime("%d %B, %Y") print("Output 4:", d) d = date_time.strftime("%I%p") print("Output 5:", d)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Datum Zeit Objekt: 2018-06-12 09:55:22 Ausgabe 2: 06/12/2018, 09:55:22 Ausgabe 3: 12 Jun, 2018 Ausgabe 4: 12 Juni, 2018 Ausgabe 5: 09AM
Codeliste formatieren
Die folgende Tabelle zeigt alle Codes, die Sie an die strftime()
Methode übergeben 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. | %. |
Beispiel 3: Datum und Uhrzeit des Gebietsschemas
from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) d = date_time.strftime("%c") print("Output 1:", d) d = date_time.strftime("%x") print("Output 2:", d) d = date_time.strftime("%X") print("Output 3:", d)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Ausgabe 1: Di 12 Jun 09:55:22 2018 Ausgabe 2: 06/12/18 Ausgabe 3: 09:55:22
Format - Codes %c
, %x
und %X
sind für locale für Datum und Zeit - Darstellung verwendet.
Wir empfehlen Ihnen auch, Python strptime () zu überprüfen. Die strptime()
Methode erstellt ein datetime
Objekt aus einer Zeichenfolge.