我们如何只打印for循环中的最后一项?蟒蛇3.?

时间:2018-03-25 05:44:57

标签: python python-3.x

import datetime
date = datetime.datetime(2000,9,17)
for i in range(50): 
    date += datetime.timedelta(days=1)
    print(date) 

我想只打印2075-01-30表格中的最后一个日期而不是2075-01-30 00:00:00

3 个答案:

答案 0 :(得分:1)

取消最后一行中的print语句

import datetime
date = datetime.datetime(2000,9,17)
for i in range(50): 
    date += datetime.timedelta(days=1)
print(date) 

答案 1 :(得分:1)

为了不每次都打印日期,你只需要将print移动到循环之外,就像Stephen Rauch解释的那样。

如果您只想打印日期而不是日期和时间,您可能实际上想要使用date对象而不是datetime对象:

date = datetime.date(2000,9,17)
for i in range(50): 
    date += datetime.timedelta(days=1)
    print(date) 

如果出于某种原因,您实际上想要使用datetime进行中间计算(这可能会对像夏令时过渡这样的奇怪案例产生影响,这可能是您想过并想要的?),您可以改为仅在结尾处转换为date,或使用strftime打印您想要的任何格式:

date = datetime.datetime(2000,9,17)
for i in range(50): 
    date += datetime.timedelta(days=1)
    print(date.strftime('%Y-%m-%d')

但如果没有,只需使用date就可以了。

答案 2 :(得分:0)

这可以简单地完成:

import datetime as dt
date_str = dt.datetime(2000, 9, 17) + dt.timedelta(days=50)
print(date_str.strftime("%Y-%m-%d"))

结果:

2000-11-06