在Python中格式化“昨天”的date

我需要在Python中以这种格式MMDDYYfind“昨天”的date。

因此,例如今天的date将如下所示:111009

今天我可以轻松做到这一点,但是我很难自动为“昨天”做这件事。

 >>> from datetime import date, timedelta >>> yesterday = date.today() - timedelta(1) >>> print 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") 
 import datetime now = datetime.datetime.now() now -= datetime.timedelta(days=1) print now.strftime("%m%d%y") 

这应该做的伎俩。 从python邮件列表中被盗。

 from datetime import datetime, timedelta today = datetime.today() yesterday = today - timedelta(1) 

你可以在这里find所有的string格式代码: http : //au2.php.net/strftime

 In [1]: import datetime In [2]: today=datetime.date.today() In [3]: yesterday=today-datetime.timedelta(1) In [4]: yesterday.strftime('%m%d%y') Out[4]: '110909' 

扩展Chris给出的答案

如果你想把date以一种特定的格式存储在variables中,就我所知,这是最短和最有效的方法

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

所有的答案都是正确的,但我想提一下,时间三angular洲接受负面的论点

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