我知道这是常见的错误,但即使在尝试了这些答案之后我也无法解决它。
通过其余的api我发送一些参数包含日期。我正在接收我想要的方法中的所有数据,但是当我尝试解析Date时,它会抛出无效日期的错误。
以下是我收到的参数
{"uid"=>"1", "user"=>"abc.a@abc.com", "from"=>"Mon Nov 3 24:59:12 CET 2014", "to"=>"Tue Nov 11 24:59:12 CET 2014"}
和日期格式是
Mon Nov 3 24:59:12 CET 2014
但是在
下面的行解析时会出错 fr = DateTime.parse(params[:from]) unless params[:from].empty?
我也尝试了strptime但是没有用。
Imp点是我还需要一小时才能进行后续处理。感谢
答案 0 :(得分:0)
你做错了是解析DateTime
而它只是日期,应该解析为以下方式之一:
1
>> fr = params[:from].to_date unless params[:from].empty?
=> Mon, 03 Nov 2014
2
>> fr = Date.parse(params[:from]) unless params[:from].empty?
=> Mon, 03 Nov 2014
答案 1 :(得分:0)
你有24:59这是无效的时间。无论如何,使用strptime:
DateTime.strptime("Mon Nov 3 22:59:12 CET 2014", "%a %b %e %T %Z %Y")
#=> Mon, 03 Nov 2014 22:59:12 +0100