我正在制作一张表,将数学结果预测到将来。我在每个预测上添加时间戳。如果
datetime.datetime.now()
2019-01-07 00:31:15.248895
如果
datetime.datetime.now() + datetime.timedelta(days=14)
2019-01-21 00:31:44.332851
如何使用此逻辑将其转换为for循环
因为我现在要询问时间,所以不能使用范围解决方案。像示例here。
我希望每隔14天会有23张不同的表格结果。
答案 0 :(得分:2)
从您发布的问题来看,尚不清楚您的预期输出是什么,但是我想您想要的是获取14天间隔的日期。您可以简单地将天数乘以循环值:
代码:
import datetime
for i in range(23):
print(datetime.datetime.now() + datetime.timedelta(days=14*i))
输出:
2019-01-07 11:17:14.702215
2019-01-21 11:17:14.702332
2019-02-04 11:17:14.702376
2019-02-18 11:17:14.702412
2019-03-04 11:17:14.702448
2019-03-18 11:17:14.702911
2019-04-01 11:17:14.703155
2019-04-15 11:17:14.703187
2019-04-29 11:17:14.703215
2019-05-13 11:17:14.703230
2019-05-27 11:17:14.703417
2019-06-10 11:17:14.703472
2019-06-24 11:17:14.703500
2019-07-08 11:17:14.703514
2019-07-22 11:17:14.703528
2019-08-05 11:17:14.703542
2019-08-19 11:17:14.703556
2019-09-02 11:17:14.703570
2019-09-16 11:17:14.703584
2019-09-30 11:17:14.703598
2019-10-14 11:17:14.703612
2019-10-28 11:17:14.703626
2019-11-11 11:17:14.703640
如果只需要日期,则可以使用格式。
答案 1 :(得分:1)
import datetime
for i in range(23):
timestamp = datetime.datetime.now() + datetime.timedelta(days=14*i)
但是,由于每次迭代都需要重新评估datetime.datetime.now()
,因此您将获得比14天稍大的差异(几毫秒或更长时间,具体取决于for循环的内容)。如果有问题,请执行以下操作:
now = datetime.datetime.now()
for i in range(23):
timestamp = now + datetime.timedelta(days=14*i)