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

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

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

作成日: 更新日:

基本的な使い方

-メソッドは、RubyのTimeクラスにおいて、時刻の差を計算したり、指定された秒数だけ時刻を遡らせたりするために使用されるメソッドです。

このメソッドは主に二つの異なる使い方があります。一つ目は、二つのTimeオブジェクト同士を減算する場合です。例えば、現在時刻を表すTime.nowオブジェクトから、過去のある時点を表すTimeオブジェクトを引くと、その二つの時刻間の差が秒数として計算されます。この場合の戻り値は、経過秒数を表す浮動小数点数(Float)または整数(Integer)になります。これにより、あるイベントから別のイベントまでの正確な経過時間などを把握する際に非常に役立ちます。

二つ目は、Timeオブジェクトから数値(秒数)を減算する場合です。例えば、Time.nowオブジェクトから特定の秒数を引くと、元の時刻からその秒数だけ遡った新しいTimeオブジェクトが生成されて返されます。例えば、Time.now - 3600と記述すれば、現在の時刻から1時間(3600秒)前の時刻を表す新しいTimeオブジェクトが得られます。この機能は、特定の日時を基準として、その何秒前、何分前、何時間前の日時を計算したい場合に便利です。

このように、-メソッドは、時間の比較や、特定の日時を基準とした前後関係の計算を容易に行うための、基本的ながらも非常に重要な機能を提供します。時間操作を正確かつ柔軟に行うために活用されるメソッドです。

構文(syntax)

1Time.now - 3600

引数(parameters)

other

  • other: Time::tmオブジェクト、またはTime::tmオブジェクトに変換可能なオブジェクト

戻り値(return)

Time | Float

Time::tm#-(TimeオブジェクトとFloatオブジェクトのいずれかを返します。Timeオブジェクトは、差分計算の結果としての時刻を表し、Floatオブジェクトは、差分計算の結果としての秒数を表します。

関連コンテンツ