为什么它只在今天的日期打印而不是在过去五年的日期打印?
from datetime import date
from datetime import timedelta
today = date.today()
for i in range(1826):
res = today - timedelta(days=i)
f1 = res.strftime("%d-%m-%Y")
f2 = res.strftime("%m-%d-%y")
f3 = res.strftime("%d-%b-%y")
f4 = res.strftime("%d-%B-%Y")
print(f1)
print(f2)
print(f3)
print(f4)
输出
05-08-2012
08-05-12
05-Aug-12
05-August-2012
答案 0 :(得分:2)
将打印功能放在for循环中。
答案 1 :(得分:1)
您的print语句没有在for循环中缩进,因此您只获得最后的结果。
答案 2 :(得分:1)
您需要将print
函数放入循环中:
for i in range(1826):
res = today - timedelta(days=i)
f1 = res.strftime("%d-%m-%Y")
f2 = res.strftime("%m-%d-%y")
f3 = res.strftime("%d-%b-%y")
f4 = res.strftime("%d-%B-%Y")
print(f1)
print(f2)
print(f3)
print(f4)
虽然你可以改为:
for i in range(1826):
res = today - timedelta(days=i)
print(res.strftime("%d-%m-%Y"))
print(res.strftime("%m-%d-%y"))
print(res.strftime("%d-%b-%y"))
print(res.strftime("%d-%B-%Y"))