Respuestas:
La clase datetime tiene un método strftime. Los documentos de Python documentan los diferentes formatos que acepta:
Para este ejemplo específico, se vería algo así como:
my_datetime.strftime("%B %d, %Y")
strftime
diferencias entre Python 2 y 3?
Así es como puede lograr lo mismo utilizando la función de formateo general de Python ...
>>>from datetime import datetime
>>>"{:%B %d, %Y}".format(datetime.now())
Los caracteres de formato utilizados aquí son los mismos que los utilizados en strftime . No te pierdas el líder :
en el especificador de formato.
El uso de format () en lugar de strftime () en la mayoría de los casos puede hacer que el código sea más legible, más fácil de escribir y coherente con la forma en que se genera la salida formateada ...
>>>"{} today's date is: {:%B %d, %Y}".format("Andre", datetime.now())
Compare lo anterior con la siguiente alternativa strftime () ...
>>>"{} today's date is {}".format("Andre", datetime.now().strftime("%B %d, %Y"))
Además, lo siguiente no va a funcionar ...
>>>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
Y así...
print 'Today is {:%B %d, %Y}'.format(datetime.now())
a print 'Today is {}'.format(datetime.now().strftime('%B %d, %Y')
. Cuando esté utilizando el método format () de todos modos, ¿por qué no utilizarlo también para el formato de fecha?
Muy vieja pregunta, lo sé. pero con las nuevas cadenas f (a partir de python 3.6) hay nuevas opciones. así que aquí para completar:
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()
y strptime()
Comportamiento explica lo que significan los especificadores de formato.
El objeto de fecha y hora de Python tiene un atributo de método, que se imprime en formato legible.
>>> a = datetime.now()
>>> a.ctime()
'Mon May 21 18:35:18 2018'
>>>
Esto es para formatear la fecha?
def format_date(day, month, year):
# {} betekent 'plaats hier stringvoorstelling van volgend argument'
return "{}/{}/{}".format(day, month, year)
dt = datetime.datetime(*t[:7])