時刻要素を配列として取得する

広告

現在時刻や時刻を指定してTimeクラスのオブジェクトを作成した後で年や月など時刻の各要素を配列として取得する方法を確認します。Timeクラスで用意されている「to_a」メソッドを使います。

配列変数 = Timeオブジェクト.to_a

Timeクラスのオブジェクトに対して「to_a」メソッドを実行すると時刻要素をそれぞれ要素とした配列を取得できます。配列に格納される時刻要素と順序は次の通りです。

フォーマット文字列出力形式
sec秒(整数で取得)
min分(整数で取得)
hour時(整数で取得)
mday日(整数で取得)
mon月(整数で取得)
year年(整数で取得)
wday曜日(整数で取得)
yday年内通算日(整数で取得)
isdst夏時間の有無(true or falseで取得)
zoneタイムゾーン(文字列で取得)

例えば次のように使用します。

t = Time.now
ary = t.to_a

サンプルプログラム

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

LibraryTime5.rb

#! ruby -Ks

jikokuyouso = %w[秒 分 時 日 月 年 曜日 年内通算日 夏時間 タイムゾーン]

t = Time.now
ary = t.to_a

index = 0

ary.each do |youso|
  print(jikokuyouso[index] , ":", youso, "¥n")
  index += 1
end

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

時刻要素を配列として受け取る

( Written by Tatsuo Ikura )