belazan
Сен. 21, 2022 01:38:34
Как вы уже поняли из названия темы, не могу найти решение проблемы.
Нужно задать начальное время и конечное время в формате часы и минуты (пример 15:00), и при этом сделать шаг времени, каждые n часов минут - результат которых будет писаться в лист (пример итд)
Условно:
Стартовое время 15:30, шаг 10 минут, конечное время 23:00
Все шаги должны будут записаться в лист, то бишь 15:30, 15:40, 15:50, 16:00, 16:10 итд, вплоть до конечного времени 23:00 включая его
P.s. Был бы безумно благодарен если бы вы выложили готовый код с решением данной проблемы
Rodegast
Сен. 21, 2022 15:03:31
Почему ты решил использовать datetime?
ZerG
Сен. 21, 2022 16:28:12
Если предполагается работать с временем то
import arrow
st = "15:30"
et = "16:30"
sh = 10
def shift(stime, etime, step):
"""
This function return list of dates in str format
:param stime: str - start time
:param etime: str - end time
:param step: int - shift minutes
:return: list of strings
"""
tform = "HH:mm"
result = []
start_time = arrow.get(stime, tform)
end_time = arrow.get(etime, tform)
count = 0
while True:
work_time = start_time.shift(minutes=count)
result.append(work_time.format(tform))
count += step
if work_time == end_time:
break
print(f"Result: {result}")
shift(st, et, sh)
Но можно и более проще выполнить еслипросто список такой сгенерировать нужно
belazan
Сен. 22, 2022 15:54:53
ZerG
Если предполагается работать с временем то
Большое спасибо, всё работает