Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Date::<<()メソッドの使い方

<<メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

<<メソッドは、RubyのDateクラスに属し、日付から指定された月数だけ過去の日付を計算するメソッドです。このメソッドは、Dateオブジェクトに対して整数値を引数として与えることで使用します。引数として渡す整数値は、日付を巻き戻す月数を表します。例えば、ある日付から「1ヶ月前」や「3ヶ月前」といった日付を簡単に算出できます。

計算結果として得られるのは、指定された月数だけ過去に遡った日付を表す新しいDateオブジェクトです。元のDateオブジェクトが直接変更されることはなく、常に新しいDateオブジェクトが生成されて返されます。日付の計算においては、カレンダー上の整合性を保つように設計されている点が重要です。具体的には、月末日の調整やうるう年の処理などが自動的に考慮されます。例えば、1月31日から1ヶ月前の日付を求めると、2月28日(または29日)に調整されるといった挙動を示します。

このメソッドは、システム開発において、支払い期限の算出や、月次レポートの期間指定、過去のイベント検索など、特定の日付から月単位で遡った日付を求める必要があるさまざまな場面で非常に有用です。正確な日付計算を必要とする際に、直感的かつ安全に利用することができます。

構文(syntax)

1require 'date'
2
3date = Date.new(2023, 10, 26)
4result_date = date << 3
5# 2023年10月26日から3ヶ月前の日付(2023年7月26日)を計算する

引数(parameters)

n

  • n: 日付(Dateオブジェクトまたはそれに準ずるもの)を指定します。この日付から現在の日付までの日数を計算します。

戻り値(return)

Date

Dateオブジェクト同士を比較し、左辺が右辺より小さい(過去の日付である)場合にtrue、そうでない場合にfalseを返します。

関連コンテンツ

関連プログラミング言語