2016-07-08 6 views
-1

日付/時刻文字列"06/14/2016 07:00 PM"をPSTタイムゾーンのTimeオブジェクトに変換しようとしています。私は結果をTue, 14 Jun 2016 19:00:00 PDT -07:00にしたい。Rubyでデータ/時刻文字列を変換する

私は次のことを試してみました:

t = "06/14/2016 07:00 PM" 
r = Time.strptime(t, "%m/%d/%Y %I:%M %p").in_time_zone("Pacific Time (US & Canada)") 

時間がTue, 14 Jun 2016 17:00:00 PDT -07:00として戻ってきます。何か案は?私に

+1

あなたはどのタイムゾーンにいますか?あなたのコンピュータがあなたが中央のタイムゾーンにいると思っているかのようです。 –

+0

また、 'in_time_zone'は未定義のメソッドです。 –

+1

@EliSadoff railsタグをレールメソッドとして追加しました – engineersmnky

答えて

1

このコードは正常に動作しますが、あなたは間違った結果与えている2つの可能性の問題があります:あなたは、太平洋タイムゾーンにない(あるいは、少なくとも、あなたに従っていない

  1. は、コンピュータ):r = Time.strptime(t, "%m/%d/%Y %I:%M %p")を実行し、rの結果を印刷することでこれをテストできます。それはあなたが、ルビーではなくレールを使用しているin_time_zoneだけレール内のメソッドである Tue, 14 Jun 2016 19:00:00 CDT -05:00

  2. を出力することを私は賭けて喜んでよ。 rubyで使用しようとすると動作しません。

+1

'in_time_zone'のようなメソッドが必要な場合は、非RailsプロジェクトでActiveSupportを使用できます。 – tadman

関連する問題