Приведу очень быстрый и простой пример, как добавить или вычесть с даты определенный временной интервал при помощи DateInterval.
В одной из статей я писал о том, как работать с объектом DateInterval.
Сейчас же я приведу два простейших примера, по которым станет ясно, как лучше использовать этот класс.
Использовать будем два метода — add() и sub(). Первый производит добавление интервала к дате, указанной в объекте DateTime, а второй, соответственно, вычитание.
// текущая дата $Now = new DateTime(); echo $Now->format('Y-m-d'); // 2016-06-24 // интервал - 1 месяц $Duration = new DateInterval('P1M'); // добавляем к текущему времени интервал $Now->add( $Duration ); echo $Now->format('Y-m-d'); // 2016-07-24 // интервал 2 месяца $Duration = new DateInterval('P2M'); // вычитаем с текущего времени интервал $Now->sub( $Duration ); echo $Now->format('Y-m-d'); // 2016-05-24
Отличной возможностью также является возможность определить интервал между двумя датами в нужном виде — т.е. в днях, в минутах, в часах и т.д.
$Date1 = new DateTime(); $Date2 = new DateTime(); $Date2->add( $Year ); $Difference = $Date1->diff( $Date2 ); echo $Difference->days; // выведет "365"