在Rails中迭代日期

时间:2013-03-26 22:18:14

标签: ruby-on-rails ruby

我正在编写一个使用给定开始日期和结束日期的日期进行迭代的方法,我需要在循环中使用日期。像这样:

start_date = 2013/03/12
end_date = 2013/11/20

# from start_date to end_date do |f|
  puts date_this_iteration_is_processing
end

有人可以帮帮我吗?

我已经阅读了这些问题,但是他们没有说明如何确定给定迭代的日期。

How to Loop through Months in Ruby on Rails Iterating the dates in ruby on rails

3 个答案:

答案 0 :(得分:4)

这是你要找的? 使用范围运算符..

start_date = Date.parse('2013-03-12')
end_date = Date.parse('2013-11-20')

(start_date..end_date).each do |day|
  puts day
end

答案 1 :(得分:1)

以不太静态的方式:

(Date.today - 60.days..Date.today).each do |day|
  puts day
end

答案 2 :(得分:1)

您可以使用upto

start_date = Date.parse('2019-05-20')
end_date = Date.parse('2019-05-22')

(start_date).upto(end_date).each do |day|
  puts day
end