6

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

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

有人可以帮我吗?

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

如何在 Ruby on Rails 中循环数月 在 ruby​​ on rails 中迭代日期

4

3 回答 3

13

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

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

(start_date..end_date).each do |day|
  puts day
end
于 2013-03-26T22:23:05.570 回答
2

以不那么静态的方式:

(Date.today - 60.days..Date.today).each do |day|
  puts day
end
于 2018-03-20T15:44:14.000 回答
2

您可以使用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
于 2019-05-22T06:08:42.823 回答