如何在 Rails 中获取两个输入日期之间的所有日期

bxo*_*oud -6 ruby ruby-on-rails date

用户输入开始日期和结束日期。我想获取这两个输入日期之间的日期。

我试过这个:

(datestart..dateend).to_a
Run Code Online (Sandbox Code Playgroud)

但它返回整月,当我从前一年中选择时,它给出了一个错误ArgumentError (invalid date):

这是我选择 2017 年 1 月 1 日和 2017 年 1 月 2 日时返回的示例 - 结果是整月和不准确的日期。

[Tue, 12 Jan 2016, Wed, 13 Jan 2016, Thu, 14 Jan 2016, Fri, 15 Jan 2016, Sat, 16 Jan 2016, Sun, 17 Jan 2016, Mon, 18 Jan 2016, Tue, 19 Jan 2016, Wed, 20 Jan 2016, Thu, 21 Jan 2016, Fri, 22 Jan 2016, Sat, 23 Jan 2016, Sun, 24 Jan 2016, Mon, 25 Jan 2016, Tue, 26 Jan 2016, Wed, 27 Jan 2016, Thu, 28 Jan 2016, Fri, 29 Jan 2016, Sat, 30 Jan 2016, Sun, 31 Jan 2016, Mon, 01 Feb 2016, Tue, 02 Feb 2016, Wed, 03 Feb 2016, Thu, 04 Feb 2016, Fri, 05 Feb 2016, Sat, 06 Feb 2016, Sun, 07 Feb 2016, Mon, 08 Feb 2016, Tue, 09 Feb 2016, Wed, 10 Feb 2016, Thu, 11 Feb 2016, Fri, 12 Feb 2016]
Run Code Online (Sandbox Code Playgroud)

更新!我通过使用修复它

Date.strptime(params[:datestart_stat], '%m/%d/%Y')
Run Code Online (Sandbox Code Playgroud)

Bha*_*oni 5

start_date = Date.parse('date start')
end_date = Date.parse('date end')
(start..endd).to_a
Run Code Online (Sandbox Code Playgroud)