Rails解析无效的日期错误

Yog*_*zzz 5 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我试图找出为什么我invalid date在某些日期不断收到错误.

例如:

这有效:

e = "07/02/2013"
 => "07/02/2013" 
start_date = DateTime.parse(e).beginning_of_day.strftime("%Y-%d-%m %H:%M:%S")
 => "2013-07-01 00:00:00"
end_date = DateTime.parse(e).end_of_day.strftime("%Y-%d-%m %H:%M:%S")
 => "2013-07-02 23:59:59" 
Run Code Online (Sandbox Code Playgroud)

这回来了 ArgumentError: invalid date

 e = "07/18/2013"
=> "07/18/2013" 
start_date = DateTime.parse(e).beginning_of_day.strftime("%Y-%d-%m %H:%M:%S")
ArgumentError: invalid date
from (irb):53:in `parse'
end_date = DateTime.parse(e).end_of_day.strftime("%Y-%d-%m %H:%M:%S")
ArgumentError: invalid date
from (irb):55:in `parse'
Run Code Online (Sandbox Code Playgroud)

我在两种情况下都使用相同的日期格式.可能是什么原因/我需要更改什么来修复它?

Erm*_*vic 5

日期的格式为 dd/mm/yyyy。您正在尝试创建 2013 年 18 月 7 日的日期。

如果您想自定义日期格式,可以使用strptime 。