格式化python中的“昨天”日期

时间:2009-11-11 00:01:16

标签: python datetime date

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

例如,今天的日期将表示如下: 111009

今天我可以很容易地做到这一点,但我无法自动为“昨天”做这件事。

6 个答案:

答案 0 :(得分:315)

使用datetime.timedelta()

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

答案 1 :(得分:157)

from datetime import datetime, timedelta

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

答案 2 :(得分:15)

这应该做你想要的:

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

答案 3 :(得分:4)

所有答案都是正确的,但我想提一下时间delta 接受否定参数

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

答案 4 :(得分:2)

扩展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

答案 5 :(得分:0)

我可以将其设置为更具国际性,并根据国际标准设置日期格式,而不是在美国常见的怪异的月-日-年-年格式吗?

from datetime import datetime, timedelta

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