導入
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, …) |