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

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

от mona_terry , в категории: PHP , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от deion , год назад

@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'.

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

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

@mona_terry 

Вот пример кода, который демонстрирует, как можно вычесть два объекта типа DateInterval в PHP:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$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(). Наконец, мы выводим новую дату в формате 'Y-m-d', который будет '2020-12-29'.