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

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

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

作成日: 更新日:

基本的な使い方

day_fractionメソッドは、Dateクラスのインスタンスが保持している「時刻情報」を、1日を基準とした相対的な割合としてRational(有理数)オブジェクトで返却するメソッドです。通常、Dateオブジェクトは日付情報のみを扱いますが、時刻情報を含んだオブジェクトとして扱われる場合(例えばDateクラスのサブクラスであるDateTimeオブジェクトなど)に、このメソッドが特に有用になります。

具体的には、インスタンスが持つ時、分、秒、ミリ秒などの時刻要素をすべて合算し、午前0時からその時刻までの経過時間を、24時間で割った分数として表現します。例えば、午前6時の場合は1日の4分の1である(1/4)を、正午の場合は2分の1である(1/2)をそれぞれRationalオブジェクトとして返します。

このメソッドを利用することで、日付オブジェクトから時刻部分だけを正確な分数で取得し、時間に関する演算を誤差なく行えるようになります。例えば、ある時刻が1日のどの部分に相当するかを数値的に把握したり、異なる時刻間の時間差を分数で計算したりする際に非常に便利です。時刻データを厳密に扱う必要があるシステム開発において、その正確性と簡潔な表現は大きな利点となります。

構文(syntax)

1require 'date'
2
3datetime_object = DateTime.new(2023, 1, 1, 12, 0, 0)
4day_fraction_value = datetime_object.day_fraction

引数(parameters)

引数なし

引数はありません

戻り値(return)

Rational

Dateオブジェクトが表す日付における、その日の経過割合を分数(Rational型)で返します。例えば、午前0時の時点では 0/1、正午には 1/2、午後6時には 3/4 といった値になります。

関連コンテンツ

関連プログラミング言語