Итерация по datetime.now в Python - PullRequest
0 голосов
/ 07 января 2019

Я делаю таблицу, которая проецирует математические результаты в будущее. Я добавляю отметки времени на каждый прогноз. Если

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

Поскольку я сейчас прошу время, я не могу использовать диапазонные решения. Как пример здесь .

Надеюсь, я ожидаю результата с 23 различными таблицами каждые 14 дней.

Ответы [ 2 ]

0 голосов
/ 07 января 2019
import datetime

for i in range(23):
    timestamp = datetime.datetime.now() + datetime.timedelta(days=14*i)

Однако вы получите немного большую разницу, чем 14 дней (на несколько миллисекунд или более, в зависимости от содержимого цикла for) из-за переоценки datetime.datetime.now() каждой итерации. Если это проблема, сделайте это:

now = datetime.datetime.now()
for i in range(23):
    timestamp = now + datetime.timedelta(days=14*i)
0 голосов
/ 07 января 2019

Из вопроса, который вы разместили, не ясно, каков ваш ожидаемый результат, но я думаю, что вы хотите, чтобы получить даты в интервале 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

Вы можете использовать форматирование, если вам нужны только даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...