我在 application.rb 中将 Rails 时区设置为“莫斯科”。
当我询问当地时间时,它返回一个比实际当地时间早一小时的值。
如何解决本地转换的错误时间?
2.0.0-p481 :003 > Time.zone
=> #<ActiveSupport::TimeZone:0x000000058a5750 @name="Moscow", @utc_offset=nil, @tzinfo=#<TZInfo::TimezoneProxy: Europe/Moscow>, @current_period=#<TZInfo::TimezonePeriod: #<TZInfo::TimezoneTransitionDefinition: #<TZInfo::TimeOrDateTime: 1301180400>,#<TZInfo::TimezoneOffset: 14400,0,MSK>>,nil>>
2.0.0-p481 :004 > Time.now
=> 2015-09-14 10:37:39 +0000
2.0.0-p481 :005 > Time.current
=> Mon, 14 Sep 2015 14:37:44 MSK +04:00
2.0.0-p481 :006 > tz = TZInfo::Timezone.get('Europe/Moscow')
=> #<TZInfo::DataTimezone: Europe/Moscow>
这里Time.current
应该返回Mon, 14 Sep 2015 13:37:44 MSK +03:00
附言
Rails.version == '4.2.1'