У меня $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('DMH:i:s Y',$newdate);
Учитывая тот факт, что $adate
является меткой времени (если это так), вы можете сделать что-то вроде этого:
$duration = 674165; $result_date = strtotime(sprintf('+%d seconds', $duration), $adate); echo date('Ymd H:i:s', $result_date);
Сделай это:
$seconds = 1; $date_now = "2016-06-02 00:00:00"; echo date("Ymd H:i:s", (strtotime(date($date_now)) + $seconds));
// add 20 sec to now $duration = 20; echo date("Ymd H:i:s", strtotime("+$duration sec"));
$current_time_zone = 150; date("Ymd H:i:s",strtotime(date("Ymd H:i:s"))+$current_time_zone);