1

Rails 3.0.10 ではTime.zone、ユーザーが米国中に投稿されたコースの時間を見る方法を変更するために使用しています。ただし、タイムゾーンを変更しても、期待どおりに動作しないようです

Time.zone = TZInfo::Timezone.get('America/Los_Angeles')
Time.zone     # => (GMT-08:00) America/Los_Angeles
Time.current  # => 2011-10-30 14:00:00 -0700


Time.zone = TZInfo::Timezone.get('America/Chicago')
Time.zone     # => (GMT-06:00) America/Chicago
Time.current  # => 2011-10-30 14:00:00 -0700

Time.zone の変更に対応するために、時間とオフセットが変更されることを期待していますが、そのように動作するようには見えません。

カリフォルニア州ロサンゼルスのユーザーがカリフォルニア時間の午後 9 時に終了するコースを作成しているときに、別のタイム ゾーンのユーザーがコースが非アクティブになり、同時にではなく別の時間に消えるという問題が発生しています。Time.zoneが実際に行っている設定と、午後9時(PST)に終了するコースを午後11時(CST)に正しく消す方法を教えてください。

4

2 に答える 2

4

交換

Time.current

Time.zone.now

これにより、設定したタイムゾーンの現在の時刻がわかります。

于 2011-12-15T20:45:59.200 に答える
0
t = Time.now
Time.zone = TZInfo::Timezone.get('America/Los_Angeles')
t.in_time_zone

または

Time.now.in_time_zone('America/Los_Angeles')
于 2013-01-31T20:22:15.293 に答える