DateTime::diff

DateTimeImmutable::diff

DateTimeInterface::diff

date_diff

(PHP 5 >= 5.3.0, PHP 7)

DateTime::diff -- DateTimeImmutable::diff -- DateTimeInterface::diff -- date_diffВозвращает разницу между двумя объектами DateTime

Описание

Объектно-ориентированный стиль

public DateTime::diff ( DateTimeInterface $targetObject , bool $absolute = false ) : DateInterval|false
public DateTimeImmutable::diff ( DateTimeInterface $targetObject , bool $absolute = false ) : DateInterval|false
public DateTimeInterface::diff ( DateTimeInterface $targetObject , bool $absolute = false ) : DateInterval|false

Процедурный стиль

date_diff ( DateTimeInterface $baseObject , DateTimeInterface $targetObject , bool $absolute = false ) : DateInterval

Возвращает разницу между двумя объектами DateTimeInterface.

Список параметров

datetime

Дата и время для сравнения.

absolute

Используется, чтобы вернуть абсолютную разницу.

Возвращаемые значения

DateInterval объект представляет разницу между двумя датами или false в случае возникновения ошибки.

Возвращаемое значение более конкретно представляет интервал для применения к исходному объекту ($this или $originObject), чтобы прийти к $targetObject. Этот процесс не всегда обратим.

Примеры

Пример #1 Пример использования DateTime::diff()

Объектно-ориентированный стиль

<?php
$origin 
= new DateTime('2009-10-11');
$target = new DateTime('2009-10-13');
$interval $origin->diff($target);
echo 
$interval->format('%R%a дней');
?>

Процедурный стиль

<?php
$origin 
date_create('2009-10-11');
$target date_create('2009-10-13');
$interval date_diff($origin$target);
echo 
$interval->format('%R%a дней');
?>

Результат выполнения данных примеров:

+2 days

Пример #2 Сравнение объектов DateTime

Замечание:

С версии PHP 5.2.2 объекты DateTime могут сравниваться при помощи операторов сравнения.

<?php
$date1 
= new DateTime("now");
$date2 = new DateTime("tomorrow");

var_dump($date1 == $date2);
var_dump($date1 $date2);
var_dump($date1 $date2);
?>

Результат выполнения данного примера:

bool(false)
bool(true)
bool(false)

Смотрите также

  • DateInterval::format() - Форматирует интервал
  • DateTime::add() - Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime
  • DateTime::sub() - Вычитает заданное количество дней, месяцев, лет, часов, минут и секунд из времени объекта DateTime