【Ruby3.x】Time::tm::to_a()メソッドの使い方
to_aメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
to_aメソッドは、Timeオブジェクトが保持している日時情報を、特定の順序で要素を格納した配列として取得するメソッドです。このメソッドは、引数を受け取らず、常に10個の要素を持つ配列を返します。
返される配列の各要素は、時間に関する様々な情報を表しており、秒、分、時、月の通算日、月、年、曜日の通算日、年の通算日、夏時間であるかどうかを示す真偽値、そしてタイムゾーン名の順に並んでいます。具体的には、秒は0から59の範囲、分は0から59、時は0から23、月の通算日は1から31、月は1から12、年は西暦の年、曜日の通算日は日曜日を0とし土曜日を6とする0から6の範囲、年の通算日は1から366の範囲で表現されます。夏時間フラグは、夏時間であればtrue、そうでなければfalse、情報がない場合はnilとなります。
例えば、あるTimeオブジェクトが「2023年10月27日 金曜日 15時30分45秒 日本標準時」を表している場合、to_aメソッドを呼び出すと、[45, 30, 15, 27, 10, 2023, 5, 300, false, "JST"]のような配列が返されます。この例では、45が秒、30が分、15が時、27が月の通算日、10が月、2023が年、5が金曜日(日曜日が0)、300が年の300日目、falseが夏時間ではないこと、"JST"がタイムゾーン名を示しています。
このメソッドを利用することで、Timeオブジェクトに含まれる個々の時間要素を簡単に抽出し、プログラム内で日付や時刻の情報を細かく操作したり、特定の形式で表示したりする際に非常に役立ちます。
構文(syntax)
1Time.now.to_a
引数(parameters)
引数なし
引数はありません
戻り値(return)
Array
Time::tm#to_aは、Time::tmオブジェクトの要素を格納したArrayを返します。このArrayには、秒、分、時、日、月、年、曜日、ユリウス日、夏時間フラグ、タイムゾーンオフセットが含まれます。