昨天的日期和时间显示一位数日 - python

yesterdays date and time showing single digit day - python

嗨,我的以下代码为我提供了一位数的日期(例如 2015_09_1),即使我在昨天的日期之后是 2 位数字:

import time 

yesterday = time.strftime("%Y_%m_") + str(int(time.strftime('%d'))-1)
print(yesterday)

好的,首先,即使你解决了补零问题,那也是行不通的。今天它会说昨天是 9 月 0 日。 1月1号也会弄错年份

只需从当前时间减去一天(86,400 秒),然后然后格式化为字符串。

yesterday = time.strftime("%Y_%m_%d", time.localtime(time.time()-86400))

如果您不想搞乱基于秒的算术,请参阅@taesu 使用 datetime.timedelta 的回答。

from datetime import date, timedelta
d = date.today() - timedelta(days=1)
print d.strftime("%Y_%m_%d")

使用time
没问题 但是我个人更喜欢datetime,因为它更干净。

我会使用这种方法的一个原因是,如果我想获得前天的结果,那么我将不得不 86,400*2

timedelta,就是days=2