Way*_*Lue 14 datetime ruby-on-rails date
我正在使用Rails 4.2.我有一个Date我想转换为DateTime.如果我使用现有to_datetime方法,它会在GMT中转换它.(我现在已经看了大约一个小时的线程,但是如果它存在的话就找不到这个确切的问题所以请提前道歉!)
irb(main):030:0> Date.current
=> Wed, 19 Aug 2015
irb(main):031:0> Date.current.to_datetime
=> Wed, 19 Aug 2015 00:00:00 +0000
Run Code Online (Sandbox Code Playgroud)
如果我然后尝试使用in_time_zone它,它会将其转换为当前时区,但也会从日期中减去偏移量.
irb(main):032:0> Date.current.to_datetime.in_time_zone
=> Tue, 18 Aug 2015 17:00:00 PDT -07:00
Run Code Online (Sandbox Code Playgroud)
如何在现有时区将现有转换Date为a DateTime?
Way*_*Lue 18
这是我能想到的最佳答案.
Time.zone.at(Date.current.to_time).to_datetime
Run Code Online (Sandbox Code Playgroud)
我有一个类似的问题,我这样做:
Time.use_zone("Europe/Berlin") do
midnight = Time.zone.parse(@date.to_s)
end
Run Code Online (Sandbox Code Playgroud)
它基本上是在午夜处于目标时区中时,将日期重新创建为Time实例,而无需“移动” Time实例。
接受的答案对我不起作用,因为Date.current.to_time将日期转换为我的:local时区,即 UTC,而不是我配置的时区,即 PST。
相反,我使用了Date.current.in_time_zone.to_datetime,我在这里找到的:https : //www.varvet.com/blog/working-with-time-zones-in-ruby-on-rails/
| 归档时间: |
|
| 查看次数: |
10111 次 |
| 最近记录: |