English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Руководство по функциям даты и времени 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 версии 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