【Ruby3.x】Time::subsec()メソッドの使い方
subsecメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
subsecメソッドは、RubyのTimeオブジェクトが保持する時刻情報のうち、秒以下の部分を浮動小数点数で取得するメソッドです。具体的には、時刻が「2023年10月27日10時30分05.123456789秒」であった場合、このメソッドを呼び出すと「0.123456789」という値が返されます。
このメソッドは、Timeオブジェクトが表す時刻の秒未満の精度が必要な場合に特に有用です。例えば、イベント発生の正確な時間をミリ秒やマイクロ秒単位で記録したい場合や、処理にかかる時間を非常に高い精度で計測したい場合などに活用できます。戻り値は常に0以上1未満のFloat(浮動小数点数)となり、これによって秒の端数部分が表現されます。
RubyのTimeクラスは内部的に、システムが提供する最高の精度(通常はナノ秒)で時刻を管理しており、subsecメソッドはその高精度な情報を利用して秒以下の詳細な値を返します。これにより、従来の秒単位の計測では得られなかった、より精密な時間情報を取り扱うことが可能となります。プログラム内で時間の微細な差を比較したり、ログに正確なタイムスタンプを含めたりする際に、このsubsecメソッドが役立ちます。
構文(syntax)
1Time.new(2023, 1, 1, 12, 30, 0.123456789).subsec
引数(parameters)
引数なし
引数はありません
戻り値(return)
Rational
Timeオブジェクトの秒数部分を、小数点以下も含めて正確に表す有理数(Rational)として返します。