¿Obtener la fecha de hoy en AAAA-MM-DD en Python?
¿Existe una forma mejor que la siguiente de devolver la fecha de hoy en el YYYY-MM-DD
formato?
str(datetime.datetime.today()).split()[0]
Usar strftime
:
>>> from datetime import datetime
>>> datetime.today().strftime('%Y-%m-%d')
'2021-01-26'
Para incluir también un relleno con ceros Hour:Minute:Second
al final:
>>> datetime.today().strftime('%Y-%m-%d %H:%M:%S')
'2021-01-26 16:50:03'
Para obtener la fecha y hora UTC:
>>> datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')
'2021-01-27 00:50:03'
Puedes usar datetime.date.today()
y convertir el datetime.date
objeto resultante en una cadena:
from datetime import date
today = str(date.today())
print(today) # '2017-12-26'
Siempre uso el isoformat()
método para esto.
from datetime import date
today = date.today().isoformat()
print(today) # '2018-12-05'
Tenga en cuenta que esto también funciona en datetime
objetos si también necesita la hora en el formato estándar ISO 8601 .
from datetime import datetime
now = datetime.today().isoformat()
print(now) # '2018-12-05T11:15:55.126382'
Respuesta muy tardía, pero simplemente puedes usar:
import time
today = time.strftime("%Y-%m-%d")
# 2024-02-22
Datetime es simplemente encantador si te gusta recordar códigos divertidos. ¿No preferirías la simplicidad?
>>> import arrow
>>> arrow.now().format('YYYY-MM-DD')
'2017-02-17'
Este módulo es lo suficientemente inteligente como para entender lo que quiere decir .
Solo haz pip install arrow
.
Anexo: En respuesta a aquellos que se preocupan por esta respuesta, permítanme decirles que la flecha representa uno de los enfoques alternativos para tratar con fechas en Python. Eso es principalmente lo que quise sugerir.