Код: Выделить всё
timeSlots = {
datetime.date(2014, 12, 11): [
datetime.time(8, 0),
datetime.time(8, 30),
datetime.time(9, 0),
datetime.time(9, 30),
datetime.time(12, 0),
datetime.time(12, 30),
datetime.time(13, 0),
datetime.time(13, 30),
datetime.time(14, 0),
datetime.time(14, 30)
],
datetime.date(2014, 12, 12): [
datetime.time(8, 0),
datetime.time(8, 30),
datetime.time(9, 0),
datetime.time(9, 30),
datetime.time(12, 0),
datetime.time(12, 30),
datetime.time(13, 0),
datetime.time(13, 30),
datetime.time(14, 0),
datetime.time(14, 30)
]
}
Вывод: {datetime.date(2014, 12, 11): [90, 150], datetime.date(2014, 12) , 12): [90, 150]
Как рассчитывается:
- < li>предположим, что мой интервал составляет 30 минут, как указано во входных данных.
- Возьмите первый список временных интервалов. Начните видеть, что разница между 8:00:00 и 8:30:00 составляет 30 минут, что соответствует полученному вводу, поэтому снова перейдите к следующему элементу списка, который равен 9:00:00 (тот же случай 8:30:00 и 9:00:00 имеет разницу в 30 минут) и так далее.
- Остановитесь на 12:00:00, так как разница составляет более 30 минут от предыдущего элемента в списке, который равен 9:30:00.< /li>
Рассчитать разницу между 8:00:00 и 9:30:00 и вернуть результат в минутах, то есть 90 минут. - Продолжите процесс, и вы получите результат.
Как лучше всего это сделать?
ТИА
Подробнее здесь: https://stackoverflow.com/questions/274 ... me-objects