Ruby on rails 为什么rails字符串到日期时间的转换会忽略时区?

Ruby on rails 为什么rails字符串到日期时间的转换会忽略时区?,ruby-on-rails,datetime,timezone,params,Ruby On Rails,Datetime,Timezone,Params,我有一个关于params的请求: ...&from_date=2015-07-09T11:28:06.763+02:00 在控制器中,当使用参数[:from_date]时,它返回DateTime对象: Thu, 09 Jul 2015 11:28:06 +0000 这是UTC时间,但转换时不考虑原始时区+02:00。此外,应用程序时区设置为时区“华沙”+2:00 如何让rails识别params[:from_date]中的时区 编辑 我已更改参数类型: optional :from_

我有一个关于params的请求:

...&from_date=2015-07-09T11:28:06.763+02:00
在控制器中,当使用参数[:from_date]时,它返回DateTime对象:

Thu, 09 Jul 2015 11:28:06 +0000
这是UTC时间,但转换时不考虑原始时区+02:00。此外,应用程序时区设置为时区“华沙”+2:00

如何让rails识别params[:from_date]中的时区

编辑

我已更改参数类型:

optional :from_date, type: DateTime, desc: "From date"
到 可选:起始日期,类型:字符串,描述:起始日期

我发现rails将“+”转换为空格,所以我得到了2015-07-09T11:28:06.763 02:00。因此问题被发现。

使用以下代码:

params[:from_date].to_datetime.in_time_zone('Warsaw')

当我尝试这个时,我得到:2015-07-09T11:28:06.763+02:00.to_datetime=>Thu,09 Jul 2015 11:28:06+0200。你是如何使用params[:from_date值的?是的,我确定。我只需要忽略时区就可以获得很好的时间。它不是一个常规的控制器,而是grape api方法。我在方法的开头使用binding.pry,然后只放'params[:from_date]'命令。然后我得到参数中的确切时间和日期,但时区为+0000,因此与输入参数基本不同。参数[:from_date]已经有一个DateTime类。此外,它的值错误-在请求参数中不考虑时区。\u time\u zoneWarsaw中的方法“只是将此错误值转换为不同的时区