Как добавить к дате секунды, минуты, часы, дни и т.д. (php)


Допустим, у нас есть дата формата «2014-06-06 17:03:54″. Как можно добавить к ней определенное количество секунд, минут и т.д.? Мы можем воспользоваться классом DateTime и DateInterval. Ниже несколько примеров.

Прежде всего, создадим объект DateTime, передав конструктору дату исходного формата:

1
$date = new DateTime("2014-06-06 17:03:54");

Добавим 5 дней к нашей дате:

1
$date->add(new DateInterval('P5D'));

В скобках сокращения: параметр начинается с буквы P («period»), затем идет число (месяцев, дней и т.п.) и сокращение от нужного интервала.

Y — годы
M — месяцы
D — дни
W — недели
H — часы
M — минуты
S — секунды

Перечисление интервалов должно начинаться с большего интервала, например, сначала годы, потом месяцы, дни и т.п. Если используются интервалы времени (секунды, минуты, часы), то перед ними ставится буква T (time):

1
$date->add(new DateInterval('PT7M')); // 7 минут

После изменения даты снова приводим дату к нужному нам строковому формату:

1
$result = $date->format('Y-m-d H:i:s');

Другие примеры.

Как добавить 1 месяц и 10 дней:

1
$date->add(new DateInterval('P1M10D'));

Как добавить 1 день и 5 часов:

1
$date->add(new DateInterval('P1DT5H'));

Как добавить 5 лет:

1
$date->add(new DateInterval('P5Y'));
Другие посты

Категория: PHP-скрипты

Оставить комментарий


Яндекс.Метрика