DateTimeInterface::diff DateTimeImmutable::diff DateTime::diff date_diff Возвращает разницу между двумя объектами даты и времени &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; Метод возвращает разницу между двумя объектами, совместимыми с интерфейсом DateTimeInterface. &reftitle.parameters; datetime Дата, с которой требуется сравнить исходную. absolute Параметр определяет, переводить ли интервал в абсолютную величину. &reftitle.returnvalues; Метод возвращает объект DateInterval, который представляет разницу между двумя датами. Параметр absolute влияет только на свойство invert объекта 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'); ]]> &example.outputs; &style.procedural; format('%R%a days'); ]]> &example.outputs; Пример вычисления разницы между датами методом <methodname>DateTimeInterface::diff</methodname> при переходе на летнее время diff($targetTime); echo $interval->format("%H:%I:%S (Полных дней: %a)"), "\n"; ]]> &example.outputs; Пример вычисления разницы для диапазона дат методом <methodname>DateTimeInterface::diff</methodname> Значение, которое возвращает метод, — точное количество времени, которое требуется для перехода от времени объекта $this ко времени объекта $targetObject. Поэтому сравнение 1 января с 31 декабря для невисокосных годов возвращает 364 дня, а не 365. diff($targetTime); echo "Полных дней: ", $interval->format("%a"), "\n"; ]]> &example.outputs; Сравнение объектов <classname>DateTime</classname> Объекты DateTimeImmutable и DateTime возможно сравнивать операторами сравнения. $date2); ]]> &example.outputs; &reftitle.seealso; DateInterval::format DateTime::add DateTime::sub