我需要在Python中找到“昨天”的日期,格式为MMDDYY。
MMDDYY
我可以很容易地为今天做这件事,但我很难自动地为“昨天”做这件事。
使用datetime.timedelta()
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
所有答案都是正确的,但我想提一下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')