Antworten:
Die datetime-Klasse hat eine Methode strftime. Die Python-Dokumente dokumentieren die verschiedenen Formate, die sie akzeptieren:
Für dieses spezielle Beispiel würde es ungefähr so aussehen:
my_datetime.strftime("%B %d, %Y")
strftime
Unterscheiden sich Python 2 und 3?
So können Sie dasselbe mit der allgemeinen Formatierungsfunktion von Python erreichen ...
>>>from datetime import datetime
>>>"{:%B %d, %Y}".format(datetime.now())
Die hier verwendeten Formatierungszeichen sind die gleichen wie die von strftime verwendeten . Verpassen Sie nicht die führende Position :
im Formatbezeichner.
Die Verwendung von format () anstelle von strftime () kann den Code in den meisten Fällen lesbarer, einfacher zu schreiben und konsistent mit der Art und Weise machen, wie formatierte Ausgaben generiert werden ...
>>>"{} today's date is: {:%B %d, %Y}".format("Andre", datetime.now())
Vergleichen Sie das Obige mit der folgenden Alternative zu strftime () ...
>>>"{} today's date is {}".format("Andre", datetime.now().strftime("%B %d, %Y"))
Darüber hinaus wird das Folgende nicht funktionieren ...
>>>datetime.now().strftime("%s %B %d, %Y" % "Andre")
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
datetime.now().strftime("%s %B %d, %Y" % "Andre")
TypeError: not enough arguments for format string
Und so weiter...
print 'Today is {:%B %d, %Y}'.format(datetime.now())
mit print 'Today is {}'.format(datetime.now().strftime('%B %d, %Y')
. Wenn Sie die format () -Methode trotzdem verwenden, warum nicht auch für die Datumsformatierung?
from datetime import datetime
date_string = f'{datetime.now():%Y-%m-%d %H:%M:%S%z}'
sehr alte Frage, ich weiß. Aber mit den neuen F-Strings (ab Python 3.6) gibt es neue Optionen. der Vollständigkeit halber hier:
from datetime import datetime
dt = datetime.now()
# str.format
strg = '{:%B %d, %Y}'.format(dt)
print(strg) # July 22, 2017
# datetime.strftime
strg = dt.strftime('%B %d, %Y')
print(strg) # July 22, 2017
# f-strings in python >= 3.6
strg = f'{dt:%B %d, %Y}'
print(strg) # July 22, 2017
strftime()
und strptime()
Verhalten erklärt, was die Formatspezifizierer bedeuten.
Das Python-Datum / Uhrzeit-Objekt verfügt über ein Methodenattribut, das in lesbarem Format gedruckt wird.
>>> a = datetime.now()
>>> a.ctime()
'Mon May 21 18:35:18 2018'
>>>
Dies ist für das Format das Datum?
def format_date(day, month, year):
# {} betekent 'plaats hier stringvoorstelling van volgend argument'
return "{}/{}/{}".format(day, month, year)
dt = datetime.datetime(*t[:7])