Python strftime()
Python strftime()
In diesem Artikel erfahren Sie, wie Sie date-, time- und datetime-Objekte in ihre entsprechende Zeichenfolge umwandeln (mit Hilfe von Beispielen)
Video:Datum und Uhrzeit in Python
Der strftime()
-Methode gibt eine Zeichenfolge zurück, die Datum und Uhrzeit darstellt, wobei das Objekt date, time oder datetime verwendet wird.
Beispiel 1:datetime als String mit strftime()
Das folgende Programm konvertiert einen datetime
Objekt, das das aktuelle Datum und die Uhrzeit enthält, 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, sieht die Ausgabe in etwa so aus:
year: 2018 month: 12 day: 24 time: 04:59:31 date and time: 12/24/2018, 04:59:31
Hier, Jahr , Tag , Zeit und date_time sind Strings, während jetzt ist ein datetime
Objekt.
Wie funktioniert strftime()?
Im obigen Programm %Y
, %m
, %d
usw. sind Formatcodes. Die strftime()
-Methode nimmt einen oder mehrere Formatcodes als Argument und gibt basierend darauf eine formatierte Zeichenfolge zurück.
- Wir haben
datetime
importiert Klasse ausdatetime
Modul. Das liegt daran, dass das Objekt vondatetime
Klasse kann aufstrftime()
zugreifen Methode.
- Die
datetime
Objekt, das das aktuelle Datum und die Uhrzeit enthält, wird in now gespeichert Variable.
- Die
strftime()
-Methode kann verwendet werden, um formatierte Zeichenfolgen zu erstellen.
- Die Zeichenfolge, die Sie an
strftime()
übergeben Methode kann mehr als einen Formatcode enthalten.
Beispiel 2:String aus einem Zeitstempel erstellen
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:
Date time object: 2018-06-12 09:55:22 Output 2: 06/12/2018, 09:55:22 Output 3: 12 Jun, 2018 Output 4: 12 June, 2018 Output 5: 09AM
Codeliste formatieren
Die folgende Tabelle zeigt alle Codes, die Sie an strftime()
übergeben können Methode.
Richtlinie | Bedeutung | Beispiel |
%a | Abgekürzter Name des Wochentags. | So, Mo, ... |
%A | Vollständiger Name des Wochentags. | Sonntag, Montag, ... |
%w | Wochentag als Dezimalzahl. | 0, 1, ..., 6 |
%d | Tag des Monats als mit Nullen aufgefüllte Dezimalzahl. | 01, 02, ..., 31 |
%-d | Tag des Monats als Dezimalzahl. | 1, 2, ..., 30 |
%b | Abgekürzter Monatsname. | Jan, Feb, ..., Dez |
%B | Vollständiger 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 mit Nullen 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-Format) als mit Nullen aufgefüllte Dezimalzahl. | 00, 01, ..., 23 |
%-H | Stunde (24-Stunden-Format) 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 | Sekunde als mit Nullen aufgefüllte Dezimalzahl. | 00, 01, ..., 59 |
%-S | Sekunde 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 mit Nullen aufgefüllte Dezimalzahl. | 001, 002, ..., 366 |
%-j | Tag des Jahres als Dezimalzahl. | 1, 2, ..., 366 |
%U | Wochennummer des Jahres (Sonntag als erster Wochentag). Alle Tage in einem neuen Jahr, die dem ersten Sonntag vorausgehen, werden als in Woche 0 liegend angesehen. | 00, 01, ..., 53 |
%W | Wochennummer des Jahres (Montag als erster Tag der Woche). Alle Tage in einem neuen Jahr, die dem ersten Montag vorangehen, gelten als in Woche 0 liegend. | 00, 01, ..., 53 |
%c | Geeignete Datums- und Zeitdarstellung des Gebietsschemas. | Montag 30. September 07:06:05 2013 |
%x | Geeignete Datumsdarstellung des Gebietsschemas. | 30.09.13 |
%X | Geeignete 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:
Output 1: Tue Jun 12 09:55:22 2018 Output 2: 06/12/18 Output 3: 09:55:22
Formatcodes %c
, %x
und %X
werden für die entsprechende Datums- und Zeitdarstellung des Gebietsschemas verwendet.
Wir empfehlen Ihnen auch, Python strptime() zu überprüfen. Der strptime()
-Methode erstellt einen datetime
Objekt aus einer Zeichenfolge.
Python