DateTimeInterface::diff DateTimeImmutable::diff DateTime::diff date_diff ふたつの DateTime オブジェクトの差を返す &reftitle.description; &style.oop; public DateIntervalDateTimeInterface::diff DateTimeInterfacetargetObject boolabsolute&false; public DateIntervalDateTimeImmutable::diff DateTimeInterfacetargetObject boolabsolute&false; public DateIntervalDateTime::diff DateTimeInterfacetargetObject boolabsolute&false; &style.procedural; DateIntervaldate_diff DateTimeInterfacebaseObject DateTimeInterfacetargetObject boolabsolute&false; ふたつの DateTime オブジェクトの差を返します。 &reftitle.parameters; datetime 比較する日付。 absolute 間隔が正の数になるようにするか否か。 &reftitle.returnvalues; ふたつの日付の差をあらわす DateInterval オブジェクトを返します。 さらに厳密に言うと、戻り値はもともとのオブジェクト ($this または $originObject) を $targetObject にするために適用すべき経過時間の差分を示しています。 このプロセスは可逆とは限りません。 このメソッドは夏時間の切り替えを認識するため、 24 hours and 30 minutes という時間差を返す可能性があります。 以下で例示するサンプルコードでそれを示します。 完全な時間差を計算したい場合、 $this/$baseObject$targetObject をUTC に変換する必要があります。 &reftitle.examples; <function>DateTimeImmutable::diff</function> の例 &style.oop; diff($target); echo $interval->format('%R%a days'); ?> ]]> &style.procedural; format('%R%a days'); ?> ]]> &examples.outputs; 夏時間の切り替え期間中の <methodname>DateTimeInterface::diff</methodname> の動き diff($targedTime); echo $interval->format("%H:%I:%S (Full days: %a)"), "\n"; ?> ]]> &example.outputs; <classname>DateTime</classname> オブジェクトの比較 DateTimeImmutableDateTime オブジェクトは、 比較演算子 で比較することもできます。 $date2); ?> ]]> &example.outputs; &reftitle.seealso; DateInterval::format DateTime::add DateTime::sub