導入
require("date")でライブラリーを読み込むとDateクラスが使えるようになる。
Dateオブジェクトの生成
Dateクラスのコンストラクターの引数で年、月、日を指定する。
|
1 2 3 4 5 6 7 |
d = Date.new(2020, 5, 30) p(d) # #<Date: 2020-05-30 ((2459000j,0s,0n),+0s,2299161j)> puts(d) # 2020-05-30 |
parseクラスメソッドに様々な形の日付文字列を与えてDateオブジェクトを生成。
|
1 2 3 4 5 6 |
puts(Date.parse("2020-5-30")) puts(Date.parse("2020/05/30")) puts(Date.parse("2020.5.30")) puts(Date.parse("20200530")) # 以上はすべて2020-05-30を表示 |
todayクラスメソッドは今日の日付でDateオブジェクトを生成。
|
1 2 |
puts(Date.today) # 2020-11-28 |
値の取り出し
年月日や曜日番号を個別に取り出し。
|
1 2 3 4 5 6 7 |
d = Date.new(2020, 5, 30) puts( d.year, # 年 d.month, # 月 d.day, # 日 d.wday # 曜日番号(日曜=0) ) |
日付の書式付表示
strftimeメソッドの引数で書式を設定。
|
1 2 3 4 |
d = Date.new(2020, 5, 30) puts(d.strftime("%Y/%m/%d(%a)")) 2020/05/30(Sat) |
主な書式文字
| %C | 世紀 |
| %Y | 西暦年 |
| %y | 西暦年の下2桁 |
| %m | 月(01-12) |
| %d | 日(01-31) |
| %w | 曜日番号(日曜:0~土曜:6) |
| %u | 曜日番号(月曜:1~日曜:7) |
| %A | 曜日の名称(Monday, Tuesday, …) |
| %a | 曜日の略称(Mon, Tue, …) |