Відповіді:
Використовуйте 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')
Це має робити те, що ви хочете:
import datetime
yesterday = datetime.datetime.now() - datetime.timedelta(days = 1)
print yesterday.strftime("%m%d%y")
всі відповіді правильні, але я хочу зазначити, що дельта часу приймає негативні аргументи .
>>> 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')
Щоб розширити відповідь, яку дав Кріс
якщо ви хочете зберігати дату у змінній у певному форматі, це найкоротший та найефективніший спосіб, наскільки я знаю
>>> 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
print((pd.to_datetime('Today') - pd.Timedelta('1 days')).strftime('%m%d%y'))