Câu trả lời:
Sử dụng datetime.timedelta()
>>> from datetime import date, timedelta
>>> yesterday = date.today() - timedelta(days=1)
>>> yesterday.strftime('%m%d%y')
'110909'
from datetime import datetime, timedelta
yesterday = datetime.now() - timedelta(days=1)
yesterday.strftime('%m%d%y')
Điều này sẽ làm những gì bạn muốn:
import datetime
yesterday = datetime.datetime.now() - datetime.timedelta(days = 1)
print yesterday.strftime("%m%d%y")
tất cả các câu trả lời đều đúng, nhưng tôi muốn đề cập rằng delta thời gian chấp nhận các đối số phủ định .
>>> from datetime import date, timedelta
>>> yesterday = date.today() + timedelta(days=-1)
>>> print(yesterday.strftime('%m%d%y')) #for python2 remove parentheses
Tôi chỉ có thể làm cho điều này quốc tế hơn một chút và định dạng ngày theo tiêu chuẩn quốc tế chứ không phải trong tháng kỳ lạ, đó là điều phổ biến ở Mỹ?
from datetime import datetime, timedelta
yesterday = datetime.now() - timedelta(days=1)
yesterday.strftime('%Y-%m-%d')
Để mở rộng câu trả lời của Chris
Nếu bạn muốn lưu trữ ngày trong một biến theo một định dạng cụ thể, đây là cách ngắn nhất và hiệu quả nhất theo như tôi biết
>>> from datetime import date, timedelta
>>> yesterday = (date.today() - timedelta(days=1)).strftime('%m%d%y')
>>> yesterday
'020817'
Nếu bạn muốn nó như một số nguyên (có thể hữu ích)
>>> yesterday = int((date.today() - timedelta(days=1)).strftime('%m%d%y'))
>>> yesterday
20817
print((pd.to_datetime('Today') - pd.Timedelta('1 days')).strftime('%m%d%y'))