【Ruby3.x】Date::civil()メソッドの使い方
civilメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
civilメソッドは、年、月、日の情報から新しいDateオブジェクトを生成するファクトリメソッドです。このメソッドは、引数として指定された年、月、日をもとに、その日付を表すDateクラスのインスタンスを新しく作成し、返します。
具体的には、第一引数に年、第二引数に月(1から12の範囲)、第三引数に日(1から31の範囲)を指定します。例えば、Date.civil(2023, 10, 26)と記述することで、2023年10月26日を表すDateオブジェクトを得ることができます。また、第四引数にはオプションでグレゴリオ暦が始まるユリウス日を指定できますが、通常はこの引数を省略し、デフォルト値を使用します。
このメソッドの重要な点として、もし存在しない日付、例えば2月30日や11月31日などが指定された場合には、ArgumentErrorというエラーが発生します。これは、日付データの正確性を保つために、Rubyが不正な日付の生成を防いでいるためです。システム開発において、特定の日付をプログラム上で表現したり、日付計算の出発点として利用したりする際に、このcivilメソッドは非常に基本的ながらも重要な役割を果たします。正確な日付オブジェクトを生成することで、その後の日付に関するあらゆる処理を安心して行うことが可能になります。
構文(syntax)
1require 'date' 2 3Date.civil(2023, 10, 26)
引数(parameters)
year, month = 1, mday = 1, sg = Date::ITALY
- year: Integer: 西暦年を指定します。
- month = 1: Integer: 月を指定します。デフォルトは1 (1月) です。
- mday = 1: Integer: 日を指定します。デフォルトは1日です。
- sg = Date::ITALY: Date::Gregorian or Date::Julian: 暦の種類を指定します。デフォルトはグレゴリオ暦 (Date::ITALY) です。
戻り値(return)
Date
このメソッドは、グレゴリオ暦の年月日情報を持つ新しいDateオブジェクトを返します。