2011-07-21 7 views
2

私と私の友達のためにレーシングウェブサイトを作成しています。ユーザーが自分のアカウントを作成すると、選択したタイムゾーンから自分が設定したタイムゾーンをActiveSupport::TimeZoneに設定します。Rails 3 - ユーザーの時間を計算する

レースを作成すると、レースが行われている時間とタイムゾーンを選択できます。例:

ユーザは、自分のタイムゾーンをUTCから-10時間のモスクワとして選択しました。その後、別のユーザーがレースを作成し、午後3時にブダペストの時間帯(UTCから+3時間)を選択します。

私はブダペストのタイムゾーンでレースの時間をどのように計算するかを調べようとしていますが、苦労しています。

あなたは私の言いたいことを知っていますか? UTCで

EEF

答えて

3

ストアすべての回 - activesupportの:: Timezone.local_to_utcを使用して変換します。

時間が表示されている場合は、ActiveSupport :: Timzezone.utc_to_localを使用してそのユーザーの現地時間に変換し直します。

= ActiveSupport::TimeZone.utc_to_local 

(from gem activesupport-3.0.8) 
------------------------------------------------------------------------------ 
    utc_to_local(time) 

------------------------------------------------------------------------------ 

Adjust the given time to the simultaneous time in the time zone represented by 
self. Returns a Time.utc() instance -- if you want an 
ActiveSupport::TimeWithZone instance, use Time#in_time_zone() instead. 
+1

乾杯! – RailsSon

+0

問題ありません....うまくいきました。 – Andy