Python strftime()
Table of Contents
In diesem Artikel lernen Sie, wie Sie Datums-, Zeit- und Datetime-Objekte in ihre äquivalente Zeichenkette konvertieren (mit Hilfe von Beispielen).
The strftime()
method returns a string representing date and time using date, time or datetime object.
Beispiel 1: datetime to string using strftime()
Das folgende Programm konvertiert eine 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, wird die Ausgabe in etwa so aussehen:
year: 2021 month: 07 day: 13 time: 04:59:31 date and time: 07/13/2021, 04:59:31
Hier, year, day, time und date_time sind Zeichenketten, während now ist ein datetime
object.
How strftime() works?
Im obigen Programm, %Y
, %m
, %d
usw. sind Formatcodes. The strftime()
Die Methode nimmt einen oder mehrere Formatcodes als Argument und gibt eine darauf basierende formatierte Zeichenkette zurück.
- We imported
datetime
class from thedatetime
module. It’s because the object ofdatetime
class can accessstrftime()
method.
- The
datetime
object containing current date and time is stored in now variable.
- The
strftime()
method can be used to create formatted strings.
- The string you pass to the
strftime()
method may contain more than one format codes.
Beispiel 2: Creating string from a timestamp
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, wird die Ausgabe sein:
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
Format Code List
Die folgende Tabelle zeigt alle Codes, die Sie an den strftime()
method.
Directive | Meaning | Example |
%a |
Abbreviated weekday name. | Sun, Mon, … |
%A |
Full weekday name. | Sunday, Monday, … |
%w |
Weekday as a decimal number. | 0, 1, …, 6 |
%d |
Day of the month as a zero-padded decimal. | 01, 02, …, 31 |
%-d |
Day of the month as a decimal number. | 1, 2, …, 30 |
%b |
Abbreviated month name. | Jan, Feb, …, Dec |
%B |
Full month name. | January, February, … |
%m |
Month as a zero-padded decimal number. | 01, 02, …, 12 |
%-m |
Month as a decimal number. | 1, 2, …, 12 |
%y |
Year without century as a zero-padded decimal number. | 00, 01, …, 99 |
%-y |
Year without century as a decimal number. | 0, 1, …, 99 |
%Y |
Year with century as a decimal number. | 2013, 2019 etc. |
%H |
Hour (24-hour clock) as a zero-padded decimal number. | 00, 01, …, 23 |
%-H |
Hour (24-hour clock) as a decimal number. | 0, 1, …, 23 |
%I |
Hour (12-hour clock) as a zero-padded decimal number. | 01, 02, …, 12 |
%-I |
Hour (12-hour clock) as a decimal number. | 1, 2, … 12 |
%p |
Locale’s AM or PM. | AM, PM |
%M |
Minute as a zero-padded decimal number. | 00, 01, …, 59 |
%-M |
Minute as a decimal number. | 0, 1, …, 59 |
%S |
Second as a zero-padded decimal number. | 00, 01, …, 59 |
%-S |
Second as a decimal number. | 0, 1, …, 59 |
%f |
Microsecond as a decimal number, zero-padded on the left. | 000000 – 999999 |
%z |
UTC offset in the form +HHMM or -HHMM. | |
%Z |
Time zone name. | |
%j |
Day of the year as a zero-padded decimal number. | 001, 002, …, 366 |
%-j |
Day of the year as a decimal number. | 1, 2, …, 366 |
%U |
Week number of the year (Sunday as the first day of the week). All days in a new year preceding the first Sunday are considered to be in week 0. | 00, 01, …, 53 |
%W |
Week number of the year (Monday as the first day of the week). All days in a new year preceding the first Monday are considered to be in week 0. | 00, 01, …, 53 |
%c |
Locale’s appropriate date and time representation. | Mon Sep 30 07:06:05 2013 |
%x |
Locale’s appropriate date representation. | 09/30/13 |
%X |
Locale’s appropriate time representation. | 07:06:05 |
%% |
A literal ‘%’ character. | % |
Beispiel 3: Locale’s appropriate date and time
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, wird die Ausgabe sein:
Output 1: Tue Jun 12 09:55:22 2018 Output 2: 06/12/18 Output 3: 09:55:22
Format codes %c
, %x
und %X
werden für die entsprechende Datums- und Zeitdarstellung des Gebietsschemas verwendet.
Wir empfehlen Ihnen außerdem, Folgendes zu prüfen Python strptime(). The strptime()
Methode erzeugt eine datetime
Objekt aus einer Zeichenkette.