このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 3.0 リファレンスマニュアル

instance method Time#ceil

ceil(ndigits=0) -> TimeRuby 2.7.0 から[permalink][rdoc][edit]

十進小数点数で指定した桁数の精度で切り上げをし、その Time オブジェクトを返します。 (デフォルトは0、つまり小数点の所で切り上げます)。

ndigits には 0 以上の整数を渡します。

[PARAM] ndigits:
十進での精度(桁数)
require 'time'

t = Time.utc(2010,3,30, 5,43,25.0123456789r)
p t.iso8601(10)        # => "2010-03-30T05:43:25.0123456789Z"
p t.ceil.iso8601(10)   # => "2010-03-30T05:43:26.0000000000Z"
p t.ceil(0).iso8601(10)  # => "2010-03-30T05:43:26.0000000000Z"
p t.ceil(1).iso8601(10)  # => "2010-03-30T05:43:25.1000000000Z"
p t.ceil(2).iso8601(10)  # => "2010-03-30T05:43:25.0200000000Z"
p t.ceil(3).iso8601(10)  # => "2010-03-30T05:43:25.0130000000Z"
p t.ceil(4).iso8601(10)  # => "2010-03-30T05:43:25.0124000000Z"

t = Time.utc(1999,12,31, 23,59,59)
p (t + 0.4).ceil.iso8601(3)  # => "2000-01-01T00:00:00.000Z"
p (t + 0.9).ceil.iso8601(3)  # => "2000-01-01T00:00:00.000Z"
p (t + 1.4).ceil.iso8601(3)  # => "2000-01-01T00:00:01.000Z"
p (t + 1.9).ceil.iso8601(3)  # => "2000-01-01T00:00:01.000Z"

t = Time.utc(1999,12,31, 23,59,59)
p (t + 0.123456789).ceil(4).iso8601(6)  # => "1999-12-31T23:59:59.123500Z"

[SEE_ALSO] Time#floor, Time#round