¿Obtener la fecha de hoy en AAAA-MM-DD en Python?

Resuelto Pyderman asked hace 9 años • 13 respuestas

¿Existe una forma mejor que la siguiente de devolver la fecha de hoy en el YYYY-MM-DDformato?

str(datetime.datetime.today()).split()[0]
Pyderman avatar Sep 10 '15 06:09 Pyderman
Aceptado

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:Secondal 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'
diegueus9 avatar Sep 09 '2015 23:09 diegueus9

Puedes usar datetime.date.today()y convertir el datetime.dateobjeto resultante en una cadena:

from datetime import date
today = str(date.today())
print(today)   # '2017-12-26'
kmonsoor avatar Dec 26 '2017 22:12 kmonsoor

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 datetimeobjetos 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'
JdH avatar Dec 05 '2018 00:12 JdH

Respuesta muy tardía, pero simplemente puedes usar:

import time
today = time.strftime("%Y-%m-%d")
# 2024-02-22
Pedro Lobito avatar Feb 14 '2020 23:02 Pedro Lobito

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.

Bill Bell avatar Feb 17 '2017 16:02 Bill Bell