我正在编写一个使用给定开始和结束日期的日期进行迭代的方法,并且我需要循环中的日期。像这样的东西:
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
有人可以帮我吗?
我已经阅读了这些问题,但它们没有说明如何确定给定迭代的日期。
我正在编写一个使用给定开始和结束日期的日期进行迭代的方法,并且我需要循环中的日期。像这样的东西:
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
有人可以帮我吗?
我已经阅读了这些问题,但它们没有说明如何确定给定迭代的日期。
这是你想要的?使用范围运算符..
start_date = Date.parse('2013-03-12')
end_date = Date.parse('2013-11-20')
(start_date..end_date).each do |day|
puts day
end
以不那么静态的方式:
(Date.today - 60.days..Date.today).each do |day|
puts day
end
您可以使用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