日付と時刻のオブジェクトから時分秒などの値をそれぞれ取得する

作成した DateTime クラスのオブジェクトから時や分などの個別の値をそれぞれ取得することができます( DateTime クラスは Date クラスのサブクラスなので Date クラスのメソッドを使って年や月の値も取得できます)。ここでは Ruby で日付と時刻のオブジェクトから時分秒などの値をそれぞれ取得する方法について解説します。

※ Ruby 3.0 から DateTime クラスは非推奨となっています。時刻に関する情報を扱う場合は Time クラスを使用されてください。 Time クラスについて詳しくは「時刻(Time)クラス」を参照されてください。

(2021 年 06 月 30 日公開 / 2022 年 10 月 17 日更新)

時分秒などの値をそれぞれ取得する

DateTime クラスのオブジェクトから時や分などの値をそれぞれ取得するために、 DateTime クラスでインスタンスメソッドが用意されています。

メソッド取得できる日付要素
hour時間を整数で取得(0-23)
min分を整数で取得(0-59)
sec秒を整数で取得(0-59)
offset時差を取得
zoneタイムゾーンを取得

それぞれのインスタンスメソッドは引数はありません。例えば分の数値を取得する場合は次のように min メソッドを使用します。

require "date"

dn = DateTime.now
puts("分:" + dn.min.to_s)
サンプルコード

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

# encoding: UTF-8

require "date"

d = DateTime.now

puts(d.hour.to_s + "時" + d.min.to_s + "分" + d.sec.to_s + "秒 " + d.zone)
puts("Offset:" + d.offset.to_s)

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

日付要素を取得する

-- --

Ruby で日付と時刻のオブジェクトから時分秒などの値をそれぞれ取得する方法について解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

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