Как добавить к дате секунды, минуты, часы, дни и т.д. (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-скрипты