【发布时间】:2010-12-15 06:56:39
【问题描述】:
我需要在 Python 中以 MMDDYY 这种格式查找“昨天”日期。
例如,今天的日期可以这样表示: 111009
我今天可以很容易地做到这一点,但在“昨天”我很难自动做到这一点。
【问题讨论】:
我需要在 Python 中以 MMDDYY 这种格式查找“昨天”日期。
例如,今天的日期可以这样表示: 111009
我今天可以很容易地做到这一点,但在“昨天”我很难自动做到这一点。
【问题讨论】:
>>> from datetime import date, timedelta
>>> yesterday = date.today() - timedelta(days=1)
>>> yesterday.strftime('%m%d%y')
'110909'
【讨论】:
print((pd.to_datetime('Today') - pd.Timedelta('1 days')).strftime('%m%d%y'))
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')
【讨论】:
扩展Chris给出的答案
如果您想以特定格式将日期存储在变量中,据我所知这是最短且最有效的方法
>>> 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
【讨论】: