Je dois trouver la date "d'hier" dans ce format MMDDYY
en Python.
Ainsi, par exemple, la date d'aujourd'hui serait représentée comme suit: 111009
Je peux facilement le faire pour aujourd'hui mais j'ai du mal à le faire automatiquement pour «hier».
>>> 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')
Cela devrait faire ce que vous voulez:
import datetime
yesterday = datetime.datetime.now() - datetime.timedelta(days = 1)
print yesterday.strftime("%m%d%y")
import datetime
now = datetime.datetime.now()
now -= datetime.timedelta(days=1)
print now.strftime("%m%d%y")
Cela devrait faire l'affaire. Volé de la liste de diffusion python .
from datetime import datetime, timedelta
today = datetime.today()
yesterday = today - timedelta(1)
Pour développer la réponse donnée par Chris
si vous voulez stocker la date dans une variable dans un format spécifique, c'est le moyen le plus court et le plus efficace pour autant que je sache
>>> from datetime import date, timedelta
>>> yesterday = (date.today() - timedelta(days=1)).strftime('%m%d%y')
>>> yesterday
'020817'
Si vous le voulez comme un entier (ce qui peut être utile)
>>> yesterday = int((date.today() - timedelta(days=1)).strftime('%m%d%y'))
>>> yesterday
20817
toutes les réponses sont correctes, mais je tiens à mentionner que delta temporel accepte les arguments négatifs .
>>> from datetime import date, timedelta
>>> yesterday = date.today() + timedelta(days=-1)
>>> print(yesterday.strftime('%m%d%y')) #for python2 remove parentheses
Vous pouvez trouver tous les codes de format de chaîne ici: 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'
Pourrais-je simplement rendre cela un peu plus international et formater la date conformément à la norme internationale et non pas dans le mois bizarre année-jour, qui est courant aux États-Unis?
from datetime import datetime, timedelta
yesterday = datetime.now() - timedelta(days=1)
yesterday.strftime('%Y-%m-%d')