from - strftime python
Formatear la fecha de "ayer" en python (8)
Necesito encontrar la fecha de "ayer" en este formato MMDDYY
en Python.
Entonces, por ejemplo, la fecha de hoy estaría representada así: 111009
Puedo hacer esto fácilmente por hoy, pero tengo problemas para hacerlo automáticamente para "ayer".
Esto debería funcionar. Robado de la lista de correo de python .
from datetime import datetime, timedelta
today = datetime.today()
yesterday = today - timedelta(1)
Esto debería hacer lo que quieras:
import datetime
yesterday = datetime.datetime.now() - datetime.timedelta(days = 1)
print yesterday.strftime("%m%d%y")
Para ampliar la respuesta dada por Chris
si desea almacenar la fecha en una variable en un formato específico, esta es la forma más corta y efectiva hasta donde yo sé
>>> from datetime import date, timedelta
>>> yesterday = (date.today() - timedelta(days=1)).strftime(''%m%d%y'')
>>> yesterday
''020817''
Si lo quieres como un número entero (que puede ser útil)
>>> yesterday = int((date.today() - timedelta(days=1)).strftime(''%m%d%y''))
>>> yesterday
20817
Puede encontrar todos los códigos de formato de cadena aquí: http://au2.php.net/strftime
In [1]: import datetime
In [2]: today=datetime.date.today()
In [3]: yesterday=today-datetime.timedelta(1)
In [4]: yesterday.strftime(''%m%d%y'')
Out[4]: ''110909''
todas las respuestas son correctas, pero quiero mencionar que el delta del tiempo acepta argumentos negativos .
>>> from datetime import date, timedelta
>>> yesterday = date.today() + timedelta(days=-1)
>>> print(yesterday.strftime(''%m%d%y'')) #for python2 remove parentheses
>>> from datetime import date, timedelta
>>> yesterday = date.today() - timedelta(1)
>>> print yesterday.strftime(''%m%d%y'')
''110909''
from datetime import datetime, timedelta
yesterday = datetime.now() - timedelta(days=1)
yesterday.strftime(''%m%d%y'')
import datetime
now = datetime.datetime.now()
now -= datetime.timedelta(days=1)
print now.strftime("%m%d%y")