Подтвердить что ты не робот

PHP: добавить секунды к дате

У меня есть $adate;, который содержит:

Tue Jan 4 07:59:59 2011

Я хочу добавить к этой дате следующее:

$duration=674165; // in seconds

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

Я не знаю, что делаю, но получаю странные результаты.

Примечание: обе переменные являются динамическими. Теперь они равны заданным значениям, но в следующем запросе они будут иметь разные значения.

4b9b3361

Ответ 1

Если вы используете php 5.3+, вы можете использовать новый способ сделать это.

<?php 
$date = new DateTime();
echo $date->getTimestamp(). "<br>";
$date->add(new DateInterval('PT674165S')); // adds 674165 secs
echo $date->getTimestamp();
?>

Ответ 2

Просто используйте некоторые хорошие функции даты и времени PHP:

$adate="Tue Jan 4 07:59:59 2011";
$duration=674165;
$dateinsec=strtotime($adate);
$newdate=$dateinsec+$duration;
echo date('D M H:i:s Y',$newdate);

Ответ 3

Учитывая тот факт, что $adate является меткой времени (если это случай), вы можете сделать что-то вроде этого:

$duration = 674165;
$result_date = strtotime(sprintf('+%d seconds', $duration), $adate);
echo date('Y-m-d H:i:s', $result_date);

Ответ 4

Сделайте это:

$seconds = 1;
$date_now = "2016-06-02 00:00:00";

echo date("Y-m-d H:i:s", (strtotime(date($date_now)) + $seconds));

Ответ 5

// add 20 sec to now
$duration = 20;
echo date("Y-m-d H:i:s", strtotime("+$duration sec"));

Ответ 6

$current_time_zone = 150;
date("Y-m-d H:i:s",strtotime(date("Y-m-d H:i:s"))+$current_time_zone);