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

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

(Last modified: )

時刻の加減算を行う

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 )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。