Как создать список раз в течение дня, который увеличивается на 15 минут? - PullRequest
0 голосов
/ 07 октября 2018

В python я хотел бы создать список раз (например, [00:15:00, 00:30:00, ... , 23:30:00, 23:45:00]), однако, хотя я могу сделать это с датами, я не могу понять, как сделать это исключительно со временем.

Ответы [ 3 ]

0 голосов
/ 07 октября 2018

Трудно сказать, не зная для чего вам нужен результирующий список, но если вы просто хотите строки, рассмотрите что-то вроде:

spacing = 15    # in minutes
lst = [str(i*datetime.timedelta(minutes=spacing)) for i in range(24*60//spacing)]
print(lst)

Примечание: это предполагает (и требует) что количество минут в дне делится на spacing равномерно, в противном случае вы получите список, но не правильный.

Вывод:

['0:00:00', '0:15:00', '0:30:00', '0:45:00', '1:00:00', '1:15:00', '1:30:00', 
 '1:45:00', '2:00:00', '2:15:00', '2:30:00', '2:45:00', '3:00:00', '3:15:00', 
 '3:30:00', '3:45:00', '4:00:00', '4:15:00', '4:30:00', '4:45:00', '5:00:00', 
 '5:15:00', '5:30:00', '5:45:00', '6:00:00', '6:15:00', '6:30:00', '6:45:00', 
 ...
 '21:00:00', '21:15:00', '21:30:00', '21:45:00', '22:00:00', '22:15:00', 
 '22:30:00', '22:45:00', '23:00:00', '23:15:00', '23:30:00', '23:45:00']
0 голосов
/ 07 октября 2018

Этот код создает и печатает список, как вы просили:

out = []
for x in [str(x) for x in range(24)]:
    x = "0" + x if len(x) == 1 else x
    for i in [str(x) for x in range(60)][::15]:
        i = "0" + i if len(i) == 1 else i
        out.append("{}:{}:00".format(x, i))
print(out)

Это довольно громоздко, но это способ сделать это без импорта.

0 голосов
/ 07 октября 2018

Вы можете создать диапазон целочисленных значений, каждое из которых представляет собой количество секунд с начала дня.

def list_of_times(interval_in_seconds):
    return range(0, 86400, interval_in_seconds)

Затем вы можете настроить его на минуты, разделив его на 60 или отформатировав, используяобъект Timedelta

import datetime
datetime.timedelta(seconds=your_value_in_seconds)

Объект Timedelta может быть отформатирован по вашему желанию

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