用户输入开始日期和结束日期。我想知道这两个输入日期之间的日期。
我试过了:
(datestart..dateend).to_a
但它会返回整个月份,当我从上一年中选择时,会出现错误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]
更新!我使用
修复它Date.strptime(params[:datestart_stat], '%m/%d/%Y')
答案 0 :(得分:2)
start_date = Date.parse('date start')
end_date = Date.parse('date end')
(start..endd).to_a
答案 1 :(得分:0)
更新!我现在能够解决我的错误。我只是改变了
Date.parse(params[:datestart_stat])
# to
Date.strptime(params[:datestart_stat], '%m/%d/%Y')
谢谢你们。