Как вычесть два объекта типа dateinterval в php?

Пользователь

от mona_terry , в категории: PHP , 6 месяцев назад

Как вычесть два объекта типа dateinterval в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от deion , 6 месяцев назад

@mona_terry 

Для вычитания двух объектов типа DateInterval в PHP необходимо использовать функцию date_sub().


Пример кода:

1
2
3
4
5
6
7
8
9
$interval1 = new DateInterval('P1D'); // Создание первого интервала - 1 день
$interval2 = new DateInterval('P2D'); // Создание второго интервала - 2 дня

$date = new DateTime('2021-01-01'); // Создание объекта DateTime

$date->sub($interval1); // Вычитание первого интервала из даты
$date->sub($interval2); // Вычитание второго интервала из даты

echo $date->format('Y-m-d'); // Вывод результата: 2020-12-29


В данном примере мы создаем два объекта класса DateInterval - $interval1, которому присваивается значение 1 день, и $interval2 со значением 2 дня. Затем мы создаем объект класса DateTime с начальной датой '2021-01-01'.


С помощью метода sub() мы вычитаем из даты каждый из интервалов. В результате получаем новую дату, которую выводим с помощью метода format(). Выходной результат будет '2020-12-29'.