昨天的日期和时间显示单个数字日 - 蟒蛇

时间:2015-09-01 20:47:26

标签: python time strftime

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

import time 

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

2 个答案:

答案 0 :(得分:2)

好的,首先,即使你解决了零填充问题,这也不行。今天它会说昨天是9月0日。 1月1日也会出现错误。

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

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

如果您不想使用基于秒的算术,请使用datetime.timedelta查看@ taesu的答案。

答案 1 :(得分:2)

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