2017-11-16 5 views
0

RailsでTimeオブジェクトに文字列を解析したい。この文字列は、デフォルトのアプリタイムゾーン以外のタイムゾーンにあります。だから、私が文字列を解析するときには、まず現在の/デフォルトのタイムゾーンを保存し、タイムゾーンを変更し、文字列を解析し、タイムゾーンをデフォルトに戻す必要があります。Rails 5の1つのコマンドに対してのみTime.zoneを設定する

current_timezone = Time.zone 
Time.zone = "Target time zone" 
Time.zone.parse("Tue Nov 23 23:29:57 2010") 
Time.zone = current_timezone 

を使用する時間帯parseコマンド内部レールを伝える方法があります:それは一つのことにまでコードの4行をですか?

+0

あなたはこの '「火11月23日午後11時29分57秒2010」.to_datetime.in_time_zone(「太平洋標準時(米国およびカナダ)」)行うことができますが、' –

答えて

1

Time.in_zoneこれを少しでも慣習的に行うことができます。

# Acting with the rails default timezone 
Time.use_zone("America/New_York") do 
    # Acting with the target timezone 
    Time.zone.parse("Tue Nov 23 23:29:57 2010") #=> Tue, 23 Nov 2010 23:29:57 EST -05:00 
end 
# Acting with the rails default timezone 
+0

おかげで、私はこのたくさんのクリーナーを見つけます。 – almo

関連する問題