как добавить 6 часов к этой строке?
$ parent = "2011-08-04 15:00:01";
Я думаю, что лучший способ - преобразовать его в метку времени, добавить 21600 секунд, а затем преобразовать обратно в дату.
Как это сделать?
Заранее спасибо.
Возможно, вы ищете http://www.php.net/manual/en/function.strtotime.php функцию
$timestamp = strtotime("2011-08-04 15:00:01"); $timestamp += 6 * 3600; echo date('Y-m-d H:i:s', $timestamp);
<?php $parent = "2011-08-04 15:00:01"; $parentTime = strtotime($parent); $later = strtotime("+6 hours", $parentTime); echo date('Y-m-d H:i:s', $later); ?>
$sixhours_from_parent = strtotime($parent) + 21600; $sixhours_date = date('Y-m-d H:i:s', $sixhours_from_parent);
Для PHP> 5.3 вы можете использовать класс DateInterval для объекта DateTime , который, я думаю, является самым простым способом справиться со сложностью временных расчетов.Так что в вашем случае вы могли бы сделать что-то вроде этого:
$time = new \DateTime("2011-08-04 15:00:01"); $time->add(new \DateInterval('PT6H')); //add six hours echo $time->format('Y-m-d H:i:s');
Ref
date('Y-m-d H:i:s', strtotime($parent) + 21600);
Похоже на timestamp / datetime значение из SQL. Вы можете использовать для этого
timestamp
datetime
SELECT datefield + INTERVAL 6 HOUR