Risposte:
La classe datetime ha un metodo strftime. I documenti Python documentano i diversi formati che accetta:
Per questo esempio specifico, sarebbe simile a:
my_datetime.strftime("%B %d, %Y")
strftime
differenze tra Python 2 e 3?
Ecco come puoi ottenere lo stesso risultato usando la funzione di formattazione generale di Python ...
>>>from datetime import datetime
>>>"{:%B %d, %Y}".format(datetime.now())
I caratteri di formattazione utilizzati qui sono gli stessi di quelli utilizzati da strftime . Non perdere il comando:
di formato.
L'uso di format () anziché strftime () nella maggior parte dei casi può rendere il codice più leggibile, più facile da scrivere e coerente con il modo in cui viene generato l'output formattato ...
>>>"{} today's date is: {:%B %d, %Y}".format("Andre", datetime.now())
Confronta quanto sopra con la seguente alternativa strftime () ...
>>>"{} today's date is {}".format("Andre", datetime.now().strftime("%B %d, %Y"))
Inoltre, il seguente non funzionerà ...
>>>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
E così via...
print 'Today is {:%B %d, %Y}'.format(datetime.now())
a print 'Today is {}'.format(datetime.now().strftime('%B %d, %Y')
. Quando si utilizza comunque il metodo format (), perché non utilizzarlo anche per la formattazione della data?
from datetime import datetime
date_string = f'{datetime.now():%Y-%m-%d %H:%M:%S%z}'
domanda molto vecchia, lo so. ma con le nuove f-string (a partire da Python 3.6) ci sono nuove opzioni. quindi qui per completezza:
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()
e strptime()
Behavior spiega cosa significano gli identificatori di formato.
L'oggetto datetime Python ha un attributo metodo, che viene stampato in formato leggibile.
>>> a = datetime.now()
>>> a.ctime()
'Mon May 21 18:35:18 2018'
>>>
Questo è per formattare la data?
def format_date(day, month, year):
# {} betekent 'plaats hier stringvoorstelling van volgend argument'
return "{}/{}/{}".format(day, month, year)
dt = datetime.datetime(*t[:7])