2011-03-22 108 views
5

我想有這得到START_DAYEND_DAY兩個字符串類型的參數,並返回指定日期範圍包括開始和結束日期內的日期列表的功能,任何人都可以提供一個高效的代碼塊?Ruby on Rails的功能本

def get_list_of_dates(start_date, end_date) 
    ... 
    return dates 
end 

回答

5
def get_list_of_dates(start_date, end_date) 
    (Date.parse(start_date)..Date.parse(end_date)).to_a 
end 

如果Date.parse不接受字符串(它不接受多種格式),則可能需要檢出chronic

0

如果你的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