我正在使用 RSpec 和 rspec-rails 2.10 进行测试。
我在 environment.rb 中将 Rails 时区设置为 UTC,但 RSpec 时区成为我的本地时区,东京。
我已经在环境/test.rb 和 spec_helper.rb 中编写了 Time.zone 设置,但没有修复。
如何设置 RSpec 时区?
我正在使用 RSpec 和 rspec-rails 2.10 进行测试。
我在 environment.rb 中将 Rails 时区设置为 UTC,但 RSpec 时区成为我的本地时区,东京。
我已经在环境/test.rb 和 spec_helper.rb 中编写了 Time.zone 设置,但没有修复。
如何设置 RSpec 时区?
问题是另一点。我写了一个调整时区偏移的方法,该方法改变了 Rails 时区。这是代码。
class WeeklyEvent < ActiveRecord::Base
def adjust_time_zone_offset
Time.zone = timezone # => This is the problem. Rails Time.zone changes to timezone.
time_zone_offset = Time.zone.utc_offset # => 32400 JST offset 9 hours in seconds.
self.start_date_time = (start_date_time - time_zone_offset).in_time_zone('UTC')
end
end
japanese_event = WeeklyEvent.find(1)
p japanese_event.start_date_time #=> Sun, 01 Jan 2012 09:00:00 JST +09:00
使用Time.zone.now
而不是Time.now
.