昨天的日期和时间显示一位数日 - 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
嗨,我的以下代码为我提供了一位数的日期(例如 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