Я ищу элегантный способ сделать ряд дат, например:
def DateRange(start_time, end_time, period)
...
end
>> results = DateRange(DateTime.new(2013,10,10,12), DateTime.new(2013,10,10,14), :hourly)
>> puts results
2013-10-10:12:00:00
2013-10-10:13:00:00
2013-10-10:14:00:00
Шаг должен быть настраиваемым, например. ежечасно, ежедневно, ежемесячно.
Я хотел бы, чтобы times
был включен, т.е. включал end_time
.
Дополнительные требования:
- Исходный часовой пояс должен быть сохранен, т.е. если он отличается от локального часового пояса, он все равно должен поддерживаться.
- Должны использовать надлежащие предварительные методы, например. Rails
:advance
, чтобы обрабатывать такие вещи, как переменное число дней в месяцах. - Идеальная производительность будет хорошей, но это не основное требование.
Есть ли элегантное решение?