Как преобразовать дату и время в метку, добавить 6 часов и преобразовать ее обратно в дату в PHP? - PullRequest
1 голос
/ 04 августа 2011

как добавить 6 часов к этой строке?

$ parent = "2011-08-04 15:00:01";

Я думаю, что лучший способ - преобразовать его в метку времени, добавить 21600 секунд, а затем преобразовать обратно в дату.

Как это сделать?

Заранее спасибо.

Ответы [ 6 ]

5 голосов
/ 04 августа 2011

Возможно, вы ищете 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);
1 голос
/ 04 августа 2011
<?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);
?>
1 голос
/ 04 августа 2011
$sixhours_from_parent = strtotime($parent) + 21600;
$sixhours_date = date('Y-m-d H:i:s', $sixhours_from_parent);
0 голосов
/ 03 июня 2016

Для 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

0 голосов
/ 04 августа 2011
date('Y-m-d H:i:s', strtotime($parent) + 21600);
0 голосов
/ 04 августа 2011

Похоже на timestamp / datetime значение из SQL. Вы можете использовать для этого

SELECT datefield + INTERVAL 6 HOUR
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...