3

たとえば、ベルリンのタイム ゾーンで午前 3 時の Time オブジェクトを取得する必要があるとします。私はこれを理解することができません。

私が行った場合、

Time.parse("03:00am").in_time_zone('Berlin')

現在のタイムゾーンの午前 3 時をベルリンのタイムゾーンに変換します。しかし、ベルリンのタイムゾーンで午前 3 時が必要です。

4

3 に答える 3

8

Time.use_zone を使用してタイムゾーンを一時的に設定してみてください

> Time.use_zone("Berlin") do 
>     t = Time.zone.parse("3:00am")
> end
=> Thu, 09 Aug 2012 03:00:00 CEST +02:00
于 2012-08-09T07:36:38.627 に答える
1

私は同じ問題を抱えていて、Time.zone は複数のリクエスト間で持続するため、変更したくありませんでした。

トリック (および Time.zone のようなシステム設定を変更しないため、より安全なアプローチ) は、時間 (AND ゾーン) を Time.parse で使用できる形式にすることです。以下は、米国太平洋時間の例です。代わりに、希望する TZ 形式のタイムゾーン文字列を挿入してください。

Time.parse("2012-10-1 8:00:00 太平洋時間 (米国およびカナダ)")

于 2012-11-05T07:29:23.483 に答える
0

これを試して、

Time.zone = "Berlin"
Time.zone.parse("03:00am")
于 2012-08-09T08:17:17.707 に答える