English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Руководство по функциям даты и времени PHP
Функция date_diff() возвращает разницу между двумя объектами DateTime.
Функция date_diff() является синонимом DateTime::diff. Она принимает два объекта DateTime в качестве параметров и вычисляет разницу между ними.
date_diff($datetime1, $datetime2[, $absolute])
Номер | Параметры и описание |
---|---|
1 | datetime1(обязательный) Это объект DateTime, который представляет одну из сравниваемых дат. |
2 | $datetime2 (обязательный) Это объект DateTime, который представляет одну из сравниваемых дат. |
3 | $absolute (дополнительный) булево значение, которое указывает, должно ли значение интервала быть положительным |
Функция date_diff() в PHP возвращает объект DateInterval, который указывает на разницу между двумя заданными датами. Если функция не удается, она возвращаетfalse.
Эта функция была最初 введена в PHP версии 5.3.0 и может быть использована во всех более поздних версиях.
Следующие примеры демонстрируютdate_diff()Использование функции -
<?php //Создание объекта DateTime $date1 = date_create("25-09-1989"); $date2 = date_create("1-09-2012"); $interval = date_diff($date1, $date2); print($interval->format('%Y years %d days')); ?>Проверить, посмотрим‹/›
Результат вывода
22 years 7 days
Следующий пример показывает, как вычислить разницу между заданной датой и текущей датой
<?php $date1 = date_create("25-09-1989"); $date2 = date_create(); $interval = date_diff($date1, $date2); print($interval->format('%Y года %d дней')); ?>Проверить, посмотрим‹/›
Результат вывода
30 лет 14 дней
Рассчитать разницу между двумя датами:
<?php //Создание объекта DateTime $date1 = date_create("2012-05-09"); $date2 = date_create("2014-01-09"); $interval = date_diff($date1, $date2); print($interval->format('%Y года %m месяц %d дней')); print("\n"); $date3 = date_create("1989-08-25"); $date4 = date_create("2012-03-19"); $interval = date_diff($date3, $date4); print($interval->format('%Y года %m месяц %d дней')); print("\n"); $date5 = date_create("2002-11-16"); $date6 = date_create("2014-12-23"); $interval = date_diff($date5, $date6); print($interval->format('%Y года %m месяц %d дней')); print("\n"); $date7 = date_create("1989-0-09"); $date8 = date_create("2013-05-14"); $interval = date_diff($date7, $date8); print($interval->format('%Y года %m месяц %d дней')); ?>Проверить, посмотрим‹/›
Результат вывода
01 года 8 месяц 0 дней 22 года 6 месяц 23 дня 12 года 1 месяц 7 дней 24 года 5 мая 5 дней