【发布时间】:2015-07-09 12:12:02
【问题描述】:
我有一个带参数的请求:
...&from_date=2015-07-09T11:28:06.763+02:00
在控制器中使用params[: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"
到 可选:from_date,类型:String,desc:“从日期”
并且发现 rails 将“+”转换为空格,所以我得到“2015-07-09T11:28:06.763 02:00”。这样问题就找到了。
【问题讨论】:
-
当我尝试这个时,我得到:
"2015-07-09T11:28:06.763+02:00".to_datetime #=> Thu, 09 Jul 2015 11:28:06 +0200。您如何使用params[:from_date值? -
是的,我确定。我只是忽略时区而度过了愉快的时光。不是普通的控制器,而是葡萄的api方法。
-
我在方法开始时使用 binding.pry,然后将 'params[:from_date]' 命令放在控制台中。然后我得到了参数中的确切时间和日期,但时区是 +0000,所以它与输入参数有本质的不同。
标签: ruby-on-rails datetime timezone params