[英]Iterate through datetime.now in Python
我正在制作一张表,将数学结果预测到将来。 我在每个预测上添加时间戳。 如果
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循环
由于我现在正在询问时间,因此无法使用范围解决方案。 就像这里的例子。
我希望每隔14天会有23个不同的表的结果。
从您发布的问题来看,尚不清楚您的预期输出是多少,但是我想您想要的是获取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
如果只需要日期,则可以使用格式。
import datetime
for i in range(23):
timestamp = datetime.datetime.now() + datetime.timedelta(days=14*i)
但是,由于每次迭代都会重新评估datetime.datetime.now()
,因此您将获得比14天稍大的差异(几毫秒或更长时间,具体取决于for循环的内容datetime.datetime.now()
。 如果这是一个问题,请执行以下操作:
now = datetime.datetime.now()
for i in range(23):
timestamp = now + datetime.timedelta(days=14*i)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.