我想要一个函数,它接受两个字符串类型的参数start_day和end_day作为开始和结束日期,并返回指定日期范围内包括开始和结束日期在内的日期列表,请问有人能提供高效的代码块吗?
def get_list_of_dates(start_date, end_date)
...
return dates
end
def get_list_of_dates(start_date, end_date)
...
return dates
end
def get_list_of_dates(start_date, end_date)
(Date.parse(start_date)..Date.parse(end_date)).to_a
end
如果Date.parse
无法接受该字符串(它不支持许多格式),您可能需要查看Chronic。
如果你有ActiveSupport,请尝试使用以下代码:
start_date = Date.parse(start_date)
end_date = Date.parse(end_date)
for date in start_date..end_date
puts date
end
这应该给你:
...
Sat, 05 Mar 2011
Sun, 06 Mar 2011
Mon, 07 Mar 2011
Tue, 08 Mar 2011
Wed, 09 Mar 2011
...
使用ActiveSupport,您可以执行以下操作:
# if you exclude to_date you get all Times in between
for date in 17.days.ago.to_date..Date.yesterday
puts date
end