LoginSignup
0
0

More than 3 years have passed since last update.

曜日の取得

Posted at

曜日の取得方と曜日による条件分岐

曜日によって表示が変わるプログラムがあったとします。
例)
金曜日なら 今日は華金だ!
他の曜日なら 今日は●曜日だ

上記のように曜日を取得して、取得した曜日によって条件分岐を行う方法はどのようなものでしょうか?

Timeクラスを使用する方法

day = Time.now
if day.friday?
  puts "今日は華金だ!"
else
  puts "今日は" + %w(日 月 火 水 木 金 土 )[day.wday] + "曜日だ"
end

日付に関する値を取得するTimeクラスがもともと存在します。
Time.nowで今日の日付情報を取得できます。
試しにTime.nowを出力すると

day = Time.now
puts day
ターミナル
2020-03-01 14:25:39 +0900

上記のように日付情報を取得できます。この情報は自分のPCに依存します。

Time.nowに取得した値に対してwdayメソッドを使用することで曜日の値を取得できます。
曜日の値は0~6の数字で返され、0が日曜日、6が土曜日を表します。
これを利用して条件分岐を行なって行きます。
まず2行目のif文ではfriday?メソッドにより
今日が金曜日かを判断しています。
もし金曜日(値が5)であれば”今日は華金だ!”と出力され、筆者は夜の歓楽街へと消えることでしょう
それ以外の値であった場合5行目の%w(日..土)に対して[day.wday]により引数の中の何番目に当たる値を代入して表示するかの文で今日は●曜日だを出力しています。

このようにすることで曜日の取得と曜日による条件分岐を行うことだできます。

参考記事

[Ruby] 本日の日付から曜日を日本語で取得する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0