【Ruby3.x】Date::prev_month()メソッドの使い方
prev_monthメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
prev_monthメソッドは、Dateオブジェクトが保持する日付の指定された月数前の日付を計算し、新しいDateオブジェクトとして返すメソッドです。このメソッドは、日付計算において特定の月数前の日付を簡単に求めたい場合に非常に役立ちます。
引数を省略した場合、現在のDateオブジェクトの日付から1ヶ月前の日付を計算して返します。例えば、3月15日の日付を持つDateオブジェクトに対してprev_monthメソッドを呼び出すと、2月15日の日付を持つ新しいDateオブジェクトが生成されます。
整数nを引数として指定することも可能です。この場合、現在のDateオブジェクトの日付からnヶ月前の日付が計算されます。例えば、prev_month(2)と指定すると、2ヶ月前の日付が返されます。
特に注意すべき点として、月をまたぐ日付の調整が挙げられます。元の月の日数が、新しい月には存在しない場合(例えば、3月31日の1ヶ月前を計算する際、2月には31日が存在しない)、日付は新しい月の最終日に調整されます。このため、3月31日の1ヶ月前は2月28日(またはうるう年の場合は2月29日)となります。
このメソッドは新しいDateオブジェクトを返すため、元のDateオブジェクトは変更されず、安全に日付操作を行うことができます。過去の日付に基づいた集計や表示を行う際に、このメソッドを利用することで柔軟な日付処理が実現できます。
構文(syntax)
1require 'date' 2 3date_object = Date.new(2023, 10, 26) 4date_object.prev_month(1)
引数(parameters)
n = 1
- n = 1: 前月の何ヶ月前を指定する整数。デフォルトは1ヶ月前。
戻り値(return)
Date
指定されたDateオブジェクトの月の前月の新しいDateオブジェクトを返します。