Ответ 1
Если вы используете php 5.3+, вы можете использовать новый способ сделать это.
<?php
$date = new DateTime();
echo $date->getTimestamp(). "<br>";
$date->add(new DateInterval('PT674165S')); // adds 674165 secs
echo $date->getTimestamp();
?>
У меня есть $adate;
, который содержит:
Tue Jan 4 07:59:59 2011
Я хочу добавить к этой дате следующее:
$duration=674165; // in seconds
После добавления секунд мне нужно вернуть результат в формат даты.
Я не знаю, что делаю, но получаю странные результаты.
Примечание: обе переменные являются динамическими. Теперь они равны заданным значениям, но в следующем запросе они будут иметь разные значения.
Если вы используете php 5.3+, вы можете использовать новый способ сделать это.
<?php
$date = new DateTime();
echo $date->getTimestamp(). "<br>";
$date->add(new DateInterval('PT674165S')); // adds 674165 secs
echo $date->getTimestamp();
?>
Просто используйте некоторые хорошие функции даты и времени 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);
Учитывая тот факт, что $adate
является меткой времени (если это случай), вы можете сделать что-то вроде этого:
$duration = 674165;
$result_date = strtotime(sprintf('+%d seconds', $duration), $adate);
echo date('Y-m-d H:i:s', $result_date);
Сделайте это:
$seconds = 1;
$date_now = "2016-06-02 00:00:00";
echo date("Y-m-d H:i:s", (strtotime(date($date_now)) + $seconds));
// add 20 sec to now
$duration = 20;
echo date("Y-m-d H:i:s", strtotime("+$duration sec"));
$current_time_zone = 150;
date("Y-m-d H:i:s",strtotime(date("Y-m-d H:i:s"))+$current_time_zone);