libro
www.tuyano.com
初心者のためのRubyプログラミング入門

日時とTimeクラス (2/4)

作成:2012-09-01 12:52
更新:2012-09-01 12:52

■Timeから個々の値を利用する

Timeはインスタンスですから、ここから年月日などの個々の値を取り出して処理する場合も多いでしょう。日時に関する個々の値は、Timeに用意されているメソッドを使って取り出すことができます。以下に主なものを整理しましょう。

・年の値
変数 = 《Time》.year

・月の値
変数 = 《Time》.month または mon

・日の値
変数 = 《Time》.day または mday

・時の値
変数 = 《Time》.hour

・分の値
変数 = 《Time》.min

・秒の値
変数 = 《Time》.sec

・曜日の値
変数 = 《Time》.wday

・1年の何日目かの値
変数 = 《Time》.yday

補足が必要なのは「曜日の値」でしょう。wdayは、0~6の値を返します。ゼロなら日曜日となります。曜日関係は、他にも面白いメソッドがあります。例えば、「今日は日曜日か?」といったことをチェックできるのです。
《Time》.sunday?
《Time》.monday?
《Time》.tuesday?
《Time》.wednesday?
《Time》.thursday?
《Time》.friday?
《Time》.saturday?
こんな具合に、すべての曜日についてメソッドが用意されています。いずれも、Timeがその曜日であればtrue、そうでなければfalseを返します。これらとwdayがあれば曜日関係は一通り処理できるでしょう。

また、これらの値をまとめていろいろ利用するような場合、全要素を配列として取り出すこともできます。
変数 = 《Timer》.to_a
これで、すべての要素がまとめられた配列が得られます。保管される値は、順に以下のようになります。

[ 秒, 分, 時, 日, 月, 年, 曜日, その年の何日目か, サマータイムを使うか, タイムゾーン ]

サマータイムを使うかどうかは真偽値になります。またタイムゾーンは「JST」というようにそのタイムゾーンを示す記号のテキストになります。

以下に簡単な利用例を挙げておきました。今日の年月日を取り出して表示する例です。個々の値が取り出せれば、それらの値を利用するプログラムの作成ができるようになります。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

d1 = Time.now
y = d1.year
m = d1.month
d = d1.day
puts( y.to_s + "年" + m.to_s + "月" + d.to_s + "日")

※関連コンテンツ

「初心者のためのRubyプログラミング入門」に戻る