Timeオブジェクトに対して時刻の加減算を行う

作成した Time クラスのオブジェクトに対してあとから時間を加算したり現在したりすることができます。また 2 つの Time クラスのオブジェクトの差を取得することができます。ここでは Ruby で Time オブジェクトに対して時刻の加減算を行う方法について解説します。

(2022 年 10 月 13 日公開 / 2022 年 10 月 26 日更新)

時刻の加減算を行う

Time クラスのオブジェクトに秒単位で時刻を加算したり現在したりする方法です。 Time クラスで用意されている + メソッドと - メソッドを使用します。

t = Time.now
t1 = t + 10
t2 = t - 8

Time クラスのオブジェクトに秒単位で時刻を加算したり減算した時刻の情報を持つ Time クラスのオブジェクトを取得できます。

時刻と時刻の差を取得する

2 つの Time クラスのオブジェクトの差を取得する方法です。時刻の差を取得できます。 Time クラスで用意されている - メソッドを使用します。

t1 = Time.now
t2 = t1 + 10
s = t2 - t1

Time クラスのオブジェクトに対して - メソッドを使って他の Time クラスのオブジェクトを減算すると、 2 つの Time クラスのオブジェクトの差を取得出来ます。結果は浮動小数点数で単位は秒です。

サンプルコード

では簡単なサンプルで試してみます。

# encoding: UTF-8

t1 = Time.now
puts(t1)

t2 = t1 + 10
puts(t2)

s = t2 - t1
puts(s)

実行結果は次のようになります。

時刻の加算減算

-- --

Ruby で Time オブジェクトに対して時刻の加減算を行う方法について解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。