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

【Ruby3.x】DateTime::to_time()メソッドの使い方

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

作成日: 更新日:

基本的な使い方

to_timeメソッドは、DateTimeオブジェクトをTimeオブジェクトに変換するメソッドです。このメソッドは、日付と時刻の情報を表現するDateTimeクラスのインスタンスを、Rubyにおいてより広範囲で利用されるTimeクラスのインスタンスに変換したい場合に用いられます。Timeオブジェクトは、時刻の比較、計算、異なるタイムゾーン間の変換など、より柔軟な日付時刻操作を可能にします。

to_timeメソッドを呼び出すと、元のDateTimeオブジェクトが表す絶対的な時刻が、新しいTimeオブジェクトとして返されます。特に、Ruby 3.1以降では、生成されるTimeオブジェクトはシステムが設定しているローカルタイムゾーンで表現されます。DateTimeオブジェクトが保持していたUTCオフセット(協定世界時からの差分)は、このローカルタイムゾーンへの変換時に適切に考慮されます。これにより、元のDateTimeがどのタイムゾーンで定義されていても、正確な時刻の瞬間がローカルタイムゾーンのTimeオブジェクトとして得られます。

ただし、Timeオブジェクトには表現できる日付の範囲に制限があり、非常に古い日付や遠い未来の日付など、その範囲を超えるDateTimeオブジェクトは、この変換を実行できない場合があります。DateTimeオブジェクトをTimeオブジェクトに変換することで、Rubyの強力な日付時刻操作ライブラリを最大限に活用し、より汎用的な時刻処理を効率的に記述できるようになります。

構文(syntax)

1require 'date'
2
3date_time_object = DateTime.new(2023, 1, 1, 10, 0, 0, '+09:00')
4time_object = date_time_object.to_time

引数(parameters)

引数なし

引数はありません

戻り値(return)

Time

DateTimeオブジェクトを、Rubyの標準的なTimeオブジェクトに変換したものを返します。

関連コンテンツ