为什么它只打印今天的日期而不是过去五年的日期?
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
将打印函数放在 for 循环中。
你需要将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"))
您的打印语句在 for 循环中没有缩进,因此您只得到最后一个结果。