年月日などの時刻要素を取得する

広告

Timeクラスが起算時からの経過秒数を保持していることはご説明しましたが、内部的に保持している経過秒数から年や月などの時刻を構成する各要素を取り出すことが出来ます。それぞれ別のメソッドが用意されています。

メソッド取得できる時刻要素
sec秒を整数で取得
min分を整数で取得
hour時を整数で取得
mday日を整数で取得
daymdayの別名
mon月を整数で取得
monthmonの別名
year年を整数で取得
wday曜日を0(日曜日)から6(土曜日)の整数で取得
yday1月1日からの通算日を整数で取得
isdst夏時間があるなら true
dst?isdstの別名
zoneタイムゾーンを表す文字列で取得

具体的には次のように記述します。

t = Time.now
print(t.year, "年", t.month, "月", t.day, "日")

サンプルプログラム

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

LibraryTime2.rb

#! ruby -Ks

youbi = %w[日 月 火 水 木 金 土]

t = Time.now

print(t.year, "年", t.month, "月", t.day, "日¥n")
print(youbi[t.wday], "曜日¥n")
print(t.hour, "時", t.min, "分", t.sec, "秒¥n")
print("TimeZone:", t.zone, "¥n")
print("今年の元旦から数えて", t.yday, "日目¥n")

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

T時刻の各要素を取得

( Written by Tatsuo Ikura )