月末の日付でDateクラスのオブジェクトを作成する

広告

「new」メソッドを使う場合、年月日の各値を指定しますが日に負の値を指定した場合はその月の最後の日から何日前の日付なのかを指定したことになります。例えば「-1」を指定した場合にはその月の月末の日となり「-2」を指定した場合には月末の前日となります。

実際の使い方は次のようになります。

require "date"

day = Date.new(2007, 5 , -1)

上記の場合は年と月が「2007年5月」であり、日は2007年5月の最後の日である31日となります。結果として「2007年5月31日」と言う日付を表すDateクラスのオブジェクトを作成します。

サンプルプログラム

では簡単なサンプルで試してみます。

LibraryDate2.rb

#! ruby -Ks

require "date"

day1 = Date.new(2007, 3 ,-1)
print(day1, "¥n")
day2 = Date.new(2007, 4 ,-1)
print(day2, "¥n")
day3 = Date.new(2007, 5 ,-1)
print(day3, "¥n")

実行結果は次のようになります。

月末日のDateクラスのオブジェクトを作成

( Written by Tatsuo Ikura )