Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Time::tm::gmt_offset()メソッドの使い方

gmt_offsetメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

gmt_offsetメソッドは、レシーバであるTime::tmオブジェクトが保持する時刻の協定世界時(UTC)からのオフセット(時差)を秒単位の整数で返すメソッドです。このオフセットは、対象の時刻がUTCと比較してどれだけ進んでいるか、あるいは遅れているかを示します。例えば、日本標準時(JST)はUTCより9時間進んでいるため、JSTに設定されたTimeオブジェクトのgmt_offsetは+32400秒(9時間 × 60分 × 60秒)を返します。一方、UTCより遅れているタイムゾーンであれば、負の値が返されます。

このメソッドは、プログラムが実行されている環境のタイムゾーン設定や、対象となるTimeオブジェクトが持つタイムゾーン情報に基づいて、適切なオフセット値を計算して提供します。特に、夏時間(サマータイム)が適用されている期間では、通常のタイムゾーンオフセットからさらに1時間進むなど、変動する可能性がある点に注意が必要です。異なるタイムゾーン間で時刻データを正確に処理したり、ユーザーの所在地に応じた時刻表示を実装したりする際に、このgmt_offsetの値が重要な役割を果たします。システム内で時刻を扱う際に、国際的な標準時との相対的な関係を把握し、タイムゾーンの差異を吸収するための基本的な情報として活用されます。

構文(syntax)

1time_object = Time.now
2offset_seconds = time_object.gmt_offset

引数(parameters)

引数なし

引数はありません

戻り値(return)

Integer

このメソッドは、協定世界時(UTC)からの差を秒単位で表す整数を返します。たとえば、日本標準時(JST)はUTC+9時間なので、このメソッドは32400を返します。

関連コンテンツ