(PHP 5 >= 5.3.0, PHP 7, PHP 8)
日付の間隔をあらわします。
格納方式は、固定値 (年、月、日、時など) あるいは相対時刻 (DateTimeImmutable と DateTime のコンストラクタがサポートしている書式) となります。
さらに厳密に言うと、 DateInterval オブジェクトが保持している情報は、 ある date/time オブジェクトから別の date/time オブジェクトに情報を移す手順です。 この過程は必ずしも可逆ではありません。
DateInterval オブジェクトを生成する一般的なやり方は、 2つの date/time オブジェクトの差分を DateTimeInterface::diff() 経由で計算することです。
日付の間隔を比較する良い方法は定義されていません。 よって、DateInterval のインスタンスは 比較できません。
以下に示すプロパティが使えるかどうかは、 PHP のバージョンに依存します。 そして、readonly と見なすべきです。
年。
月。
日。
時間。
分。
秒。
マイクロ秒。1秒の100万分の1です。
間隔が負の数になっている場合は 1
、そうでない場合は 0
。 DateInterval::format() を参照ください。
DateTimeImmutable::diff() や DateTime::diff() で作られた DateInterval オブジェクトの場合は、開始日と終了日の間の(丸一日、つまり0時から24時までの一日全体という意味での)日の数。 それ以外の場合は days は false
となります。
DateInterval::createFromDateString() で作られた DateInterval オブジェクトの場合は、 このプロパティの値は true
になり、 date_string の値が収集されます。 そうでない場合、この値は false
になり、 y, f, invert, days の値が収集されます。
DateInterval::createFromDateString() の引数として使われる文字列。
バージョン | 説明 |
---|---|
8.2.0 | DateInterval::createFromDateString() で作られた DateInterval のインスタンスのために、 プロパティ from_string と date_string が追加されました。 |
8.2.0 | プロパティ y から f , invert , days のみがアクセス可能になりました。 |
7.4.0 | DateInterval インスタンスは、 比較できなくなりました。 これより前のバージョンでは、 全ての DateInterval のインスタンスが等しいとみなされていました。 |
7.1.0 | f プロパティが追加されました |