DateTimeInterface::diff

DateTimeImmutable::diff

DateTime::diff

date_diff

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTimeInterface::diff -- DateTimeImmutable::diff -- DateTime::diff -- date_diff — Повертає різницю між двома об'єктами DateTime

Опис

Об'єктно-орієнтований стиль

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

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

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

Повертає різницю між двома об'єктами DateTimeInterface

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

datetime

Дата та час для порівняння.

absolute

Визначає, чи інтервал примусово переведений в абсолютну величину.

Значення, що повертаються

Повертає об'єкт DateIntervalякий представляє різницю між двома датами.

Значення, що повертається, більш конкретно представляє часовий інтервал, який при застосуванні до вихідного об'єкта ($thisили$originObject) призводить до об'єкту $targetObject. Цей процес не завжди оборотний.

Метод враховує зміну часових поясів і тому може повертати інтервал 24 hours and 30 minutes, як у одному з прикладів. Якщо потрібно розраховувати за абсолютним часом, необхідно спочатку перетворити об'єкти $this $baseObjectи$targetObjectв UTC.

Приклади

Приклад #1 Приклад использования методаDateTimeInterface::diff()** з діапазоном дат**

Значення, яке повертає метод, - це точна кількість часу, яка необхідна для переходу від часу об'єкта $this на час об'єкта $targetObject. Тому порівняння 1 січня із 31 грудня повертає 364 дні, а не 365 днів (для невисокосних років).

Loading...

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

Полных дней: 364

Приклад #2 Приклад використання DateTimeImmutable::diff()****

Об'єктно-орієнтований стиль

Loading...

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

Loading...

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

+2 days

Приклад #3 Приклад використання DateTimeInterface::diff()во время перехода на летнее время

Loading...

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

24:30:00 (Полных дней: 0)

Приклад #4 Порівняння об'єктів DateTime

Зауваження :

Об'єкти DateTimeImmutable і DateTime можна порівнювати операторами порівняння

Loading...

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

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

Дивіться також

  • DateInterval::format() - Форматує інтервал
  • DateTime::add() - Змінює об'єкт DateTime, додаючи кількість днів, місяців, років, годин, хвилин та секунд
  • DateTime::sub() - Віднімає дні, місяці, роки, години, хвилини та секунди з об'єкта DateTime