Techioz Blog

現在の太平洋タイムゾーンが PST か PDT かを確認します。

概要

表現された時刻整数を日時に解析する Ruby (Rails コンテキスト内) があり、日時が太平洋時間に解析されることを確認する必要があります。

DateTime.new(2012, 11, 17, 3, 2, 0, 'PST')

ただし、これを年の半分以内に PDT に変更する必要があります。実行時に PST と PDT のどちらを渡す必要があるかをどのように判断すればよいでしょうか?

解決策

PST または PDT (またはそれらに相当するオフセット) を渡すかどうかを自分で判断しようとしないでください。代わりに、IANA tz データベースのタイム ゾーン識別子 (例: 米国太平洋時間の場合は America/Los_Angeles) を使用し、そのゾーンの基礎となるデータによって特定の日付と時刻の適切なオフセットを決定できるようにします。

Ruby では、これを実現するためのさまざまな方法がいくつかあります。