日付と時刻のオブジェクトから時分秒などの値をそれぞれ取得する
作成した DateTime クラスのオブジェクトから時や分などの個別の値をそれぞれ取得することができます( DateTime クラスは Date クラスのサブクラスなので Date クラスのメソッドを使って年や月の値も取得できます)。ここでは Ruby で日付と時刻のオブジェクトから時分秒などの値をそれぞれ取得する方法について解説します。
※ Ruby 3.0 から DateTime クラスは非推奨となっています。時刻に関する情報を扱う場合は Time クラスを使用されてください。 Time クラスについて詳しくは「時刻(Time)クラス」を参照されてください。
(Last modified: )
時分秒などの値をそれぞれ取得する
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 )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。