English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Основы

PHP Уровень продвинутый

PHP & MySQL

PHP Референс Мануал

Примеры использования и руководство по функции date_sub() PHP

Руководство по функциям даты и времени PHP

Функция date_sub() вычитает из объекта DateTime определенное количество дней, месяцев, лет, часов, минут и секунд.

Определение и использование

Эта функция являетсяDateTime::sub()Альтернативное имя функции. Эта функция принимает объект DateTime и объект DateInterval и вычитает из заданного DateTime указанный интервал времени.

Синтаксис

date_sub$object, $interval)

Параметр

НомерПараметры и описание
1

object (обязателен)

Это объект DateTime, который определяет дату и время, из которых нужно вычесть интервал.

2

interval (обязателен)

Это объект DateInterval, который определяет интервал для вычитания.

Возвратное значение

Функция date_sub() в PHP возвращает объект DateTime, из которого вычитается заданный интервал. Если функция не удается, она возвращает логическое значениеfalse.

Версия PHP

Эта функция была введена в PHP версии 5.3.0 и может использоваться во всех более поздних версиях.

Онлайн пример

Следующие примеры демонстрируютdate_sub()Использование функции.-

<?php
   //Создать объект DateTime
   $date = date_create("2019-09-25");
   //Добавить временной интервал к дате
   $res = date_sub($date, new DateInterval('PT10H30S'));   
   //Форматировать дату для вывода
   $format = date_format($res, "Y-m-d H:i:s");
   print($format);
?>
Тестирование, посмотрим‹/›

Результат вывода

2019-09-24 13:59:30

Онлайн пример

В следующем примере функция используется для создания интервала и вычитания созданного интервала из даты

<?php
   $date = date_create("1989-09-26");
   $interval = date_interval_create_from_date_string('1025 дней');
   $res = date_sub($date, $interval);   
   $format = date_format($res, "Y-m-d");
   print($format);   
?>
Тестирование, посмотрим‹/›

Результат вывода

1986-12-06

Онлайн пример

Теперь давайте попробуем добавить интервал с годами, месяцами и днями-

<?php
   //Создать объект DateTime
   $date = date_create("1989-09-26");
   //Добавить интервал к дате
   $res = date_sub($date, new DateInterval('P29Y2M5D'));   
   //Форматировать дату для вывода
   $format = date_format($res, "Y-m-d");
   print($format);
?>
Тестирование, посмотрим‹/›

Результат вывода

1960-07-21

Онлайн пример

Убрать 150 дней из даты 1995-05-07:

<?php
   $date = date_create('1995-05-07');
   $interval = date_interval_create_from_date_string('150 дней');
   $date->sub($interval);
   print($date -> format('Y-m-d'));
?>
Тестирование, посмотрим‹/›

Это приводит к следующим результатам-

1994-12-08