And*_*ndy 0 ruby-on-rails heroku
因此,我的最终目标是让Heroku服务器的Time.now与您从JavaScript执行新的Date.now()的时间相同.到目前为止我所做的是从JavaScript捕获时区偏移量,并使用适当的客户端时区在Rails上设置Time.zone,所以现在,Time.zone是正确的时区.但是,Time.now仍然反映了真实的时区而不是Time.zone.我想这不是我想要做的第一个地方.
所以我想要的是,服务器时间反映客户端时间,因此任何操作,如Time.now或DateTime.now或Date.today都将显示客户端时间.
检查一下
1.8.7 :001 > Time.zone
=> #<ActiveSupport::TimeZone:0xb740d1b8 @tzinfo=#<TZInfo::TimezoneProxy: Etc/UTC>, @utc_offset=nil, @name="UTC", @current_period=nil>
1.8.7 :002 > Time.now
=> Fri Apr 20 13:13:53 +0530 2012
1.8.7 :003 > Time.zone.now
=> Fri, 20 Apr 2012 07:43:59 UTC +00:00
1.8.7 :004 > Time.zone = "Helsinki"
=> "Helsinki"
1.8.7 :005 > Time.zone
=> #<ActiveSupport::TimeZone:0xb70ab830 @tzinfo=#<TZInfo::TimezoneProxy: Europe/Helsinki>, @utc_offset=nil, @name="Helsinki", @current_period=nil>
1.8.7 :006 > Time.now
=> Fri Apr 20 13:14:48 +0530 2012
1.8.7 :007 > Time.zone.now
=> Fri, 20 Apr 2012 10:45:10 EEST +03:00
1.8.7 :008 > Time.zone.now.to_time.strftime("%c").to_datetime
=> Fri, 20 Apr 2012 10:47:01 +0000
1.8.7 :009 >
Run Code Online (Sandbox Code Playgroud)
因此,Time.zone.now.to_time.strftime("%c").to_datetime您可以将用户所在时区的当前时间设为UTC
Time.now始终提供服务器时区中的时间。Time.zone.now给出指定时区的时间。
谢谢阿米特·帕特尔(Amit Patel)
| 归档时间: |
|
| 查看次数: |
2090 次 |
| 最近记录: |