5

RSpec と rspec-rails 2.10 でテストしています。

environment.rb で Rails のタイムゾーンを UTC に設定しましたが、RSpec のタイムゾーンは私のローカルタイムゾーンである東京になります。

environment/test.rb と spec_helper.rb に Time.zone 設定を書きましたが、修正されませんでした。

RSpecのタイムゾーンを設定するには?

4

2 に答える 2

0

問題は別の点です。タイムゾーンのオフセットを調整するメソッドを書きました。このメソッドは 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
于 2012-08-16T14:23:40.440 に答える
-2

Time.zone.nowの代わりに使用しTime.nowます。

于 2013-01-21T23:04:20.740 に答える