Как я могу перебрать диапазон дат с разными интервалами?

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

Как я могу цикл через этот диапазон дат?

Обновление

Спасибо за ваши ответы, я придумал следующее:

interval = 'week' # month, year
start = from
while start < to
  stop  = start.send("end_of_#{interval}")
  if stop > to
    stop = to
  end
  logger.debug "Interval from #{start.inspect} to #{stop.inspect}"
  start = stop.send("beginning_of_#{interval}")
  start += 1.send(interval)
end

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

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

9
задан tonymarschall 12 May 2012 в 15:05
поделиться