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