2011-08-15 9 views
0

私は、ユーザーのタイムゾーンと、そのタイムゾーンで配信されるものを収集する時間を収集します。まだタイムゾーンとコンバージョンについて混乱しています

私のアプリケーションはバンコクタイムを使用するように設定されています。私は、ユーザーが自分のタイムゾーンに比べて入力した時間を格納したい

application.rb

config.time_zone = 'Bangkok' 

したがって、たとえばユーザーが次を選択言う:

time = "6:00" 
timezone = "(GMT-10:00) Hawaii" 

私は自分のアプリケーションの時に、この時間を変換し、データベースに保存します。

6AMハワイのタイムゾーンをバンコクの何時に変換できますか?

答えて

3

私たちが証明するためにあなたの例を使用してみましょう:その後、

Time.zone = "Hawaii" 

あなた:あなたがする必要がある最初の事は、ユーザーが選んだタイムゾーンにアプリのタイムゾーンを設定されている

config.time_zone = 'Bangkok' 
time = "6:00" 
timezone = "Hawaii" 

この新しいタイムゾーンを使用して時間を解析する:

hawaii_time = Time.zone.parse("6:00") 

hawaii_time私たちはのようなもの(私たちはHST -10持っている:それは正しいことを意味している00):取得あなたが今、あなたのアプリケーションのタイムゾーンに変換するために、レールにin_time_zoneメソッドを使用し

Mon, 15 Aug 2011 06:00:00 HST -10:00 

を:

local_time = hawaii_time.in_time_zone(Rails.configuration.time_zone) 

場合

Mon, 15 Aug 2011 23:00:00 ICT +07:00 

今は私に戻って我々のアプリのタイムゾーンをリセットすることができます。私たちはのようなものを得るでしょうアウトlocal_time印刷(:00バンコクの正しいです、私たちはICT 07を持っています)元の値:

Time.zone = Rails.configuration.time_zone 
+0

ワウスコークは、私が今までに見た中で最も素晴らしい説明です。絶対に素晴らしい。大変ありがとうございます。 – chell

+0

あなたはこの回答を@chellで投票することをお勧めしますか? –

+0

THanks Joh。私はそれを投票した。申し訳ありません、私はかなりNOOBです。 – chell

関連する問題