как добавить 6 часов в эту строку?
$ parent = "2011-08-04 15:00:01";
Я думаю, что лучший способ – преобразовать его в timestamp, добавить 21600 секунд, а затем преобразовать его обратно в дату.
Как это сделать?
Заранее спасибо.
Возможно, вы ищете функцию http://www.php.net/manual/en/function.strtotime.php
$timestamp = strtotime("2011-08-04 15:00:01"); $timestamp += 6 * 3600; echo date('Ymd H:i:s', $timestamp);
$sixhours_from_parent = strtotime($parent) + 21600; $sixhours_date = date('Ymd H:i:s', $sixhours_from_parent);
<?php $parent = "2011-08-04 15:00:01"; $parentTime = strtotime($parent); $later = strtotime("+6 hours", $parentTime); echo date('Ymd H:i:s', $later); ?>
date('Ymd H:i:s', strtotime($parent) + 21600);
Похоже на значение timestamp
/ datetime
из SQL. Вы можете использовать для этого
SELECT datefield + INTERVAL 6 HOUR
Для 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('Ymd H:i:s');
ссылка