我需要在Python中以MMDDYY的格式找到“昨天的”日期。

例如,今天的日期可以这样表示: 111009

我可以很容易地为今天做这件事,但我很难自动地为“昨天”做这件事。


使用datetime.timedelta ()

>>> from datetime import date, timedelta
>>> yesterday = date.today() - timedelta(days=1)
>>> yesterday.strftime('%m%d%y')
'110909'

这应该是你想要的:

import datetime
yesterday = datetime.datetime.now() - datetime.timedelta(days = 1)
print yesterday.strftime("%m%d%y")

from datetime import datetime, timedelta

yesterday = datetime.now() - timedelta(days=1)
yesterday.strftime('%m%d%y')

扩展一下克里斯给出的答案

如果你想以特定的格式将日期存储在一个变量中,据我所知,这是最短和最有效的方法

>>> from datetime import date, timedelta                   
>>> yesterday = (date.today() - timedelta(days=1)).strftime('%m%d%y')
>>> yesterday
'020817'

如果您希望它是一个整数(这可能很有用)

>>> yesterday = int((date.today() - timedelta(days=1)).strftime('%m%d%y'))
>>> yesterday
20817

所有答案都是正确的,但我想提一下time delta接受否定的论证。

>>> from datetime import date, timedelta
>>> yesterday = date.today() + timedelta(days=-1)
>>> print(yesterday.strftime('%m%d%y')) #for python2 remove parentheses 

我能不能让它更国际化一点,根据国际标准来安排日期,而不是像美国那样奇怪的月-日-年格式?

from datetime import datetime, timedelta

yesterday = datetime.now() - timedelta(days=1)
yesterday.strftime('%Y-%m-%d')