Php. Как добавить или вычесть временной интервал?


Приведу очень быстрый и простой пример, как добавить или вычесть с даты определенный временной интервал при помощи 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"
,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *