【Ruby】Gold試験対策-ライブラリ-日付・日時
問題で出てきた以下のソース。
require "date" d1 = DateTime.now d2 = DateTime.now p (d2 - d1).class #=> Rational # 小さな分数が出る。
Date、DateTimeクラスは日付までを整数で、それ以下は分数で保持している。そのため計算すると分数が出力される。
また便利なメソッドも多数。
require "date" d1 = Date.parse("11-01-11", true) d2 = Date.parse("11-02-01", true) d1.step(d2, 7) do |date| p date.strftime("%Y-%m-%d") end # "2011-01-11" # "2011-01-18" # "2011-01-25" # "2011-02-01"
parseは第2引数でtrueを指定すると近い年次(1969-2068)に変換してくれる。またstrftimeは%記法でフォーマット変換してくれます。%記法はすべて覚えるのにはそこそこ労力がかかるので、とりあえずymdだけ覚えておけばいいかなと思います!