【Ruby3.x】Time::ceil()メソッドの使い方
ceilメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
ceilメソッドは、Timeオブジェクト(時刻を表すオブジェクト)の時刻を指定された精度で切り上げて、新しいTimeオブジェクトを生成し返却するメソッドです。
このメソッドは、引数としてndigits(エヌディジッツ)を取ることができます。ndigitsは、秒数の小数部分をどの桁で切り上げるかを整数で指定します。例えば、ndigitsに0を指定すると、秒の小数部分を切り上げ、秒の整数部分で最も近い未来の時刻に調整します。ndigitsを省略した場合も、デフォルトで0が適用され、秒の整数部分に切り上げられます。
ndigitsに正の値を指定すると、秒の小数点以下指定された桁数で切り上げが行われます。例えば、Time.new(2023, 1, 1, 10, 30, 0.12345).ceil(2)のように指定すると、秒の小数点以下2桁で切り上げられ、2023-01-01 10:30:00.13 +0900のような時刻が得られます。
一方、負の値を指定すると、秒の整数部分や分、時間といったより大きな単位で切り上げが行われます。例えば、Time.new(2023, 1, 1, 10, 30, 0.12345).ceil(-1)を実行すると、秒を10の位で切り上げ、2023-01-01 10:30:10 +0900のような時刻になります。
このメソッドは、元のTimeオブジェクト自体を変更するのではなく、切り上げられた新しい時刻を持つTimeオブジェクトを生成して返します。これにより、時刻の丸め処理を正確かつ予測可能な形で行うことができ、特にログ分析やイベントスケジューリングなどで特定の時間単位に時刻を揃えたい場合に非常に有用です。
構文(syntax)
1Time.now.ceil
引数(parameters)
ndigits = 0
- ndigits = 0: 四捨五入する桁数を指定する整数。デフォルトは0で、秒の位に丸められます。
戻り値(return)
Time
指定された秒数(または指定された秒数で割り切れる次の時間)に切り上げた新しいTimeオブジェクトを返します。