使用php为日期添加秒数?

时间:2014-11-20 13:13:32

标签: php mysql

我想找到来访者的结束时间。我记录了银泰百货通过API在我的数据库中的持续时间,但API不提供结束时间的选项。看起来我必须从(Intime& Duration)计算结束时间。但是我确实找到了结束时间。但是处理代码需要花费太多时间,而且我发现错误如致命错误:D:\ xampp-portable \ htdocs \ logmein \第68行超过600秒的最大执行时间

请查看我的代码并告诉我一种以更简单的方式自定义代码的方法。

开始时间-11 / 19/2014 4:57 AM,Duration-1423

我想:开始时间:2014-11-20 12:48:17, 结束时间:2014-11-20 13:07:17, 持续时间-00:19:35

<?php
$WaitingTime=1423;
$i = ($WaitingTime / 60) % 60;
$duration = sprintf('%02d:%02d:%02d', ($WaitingTime / 3600), ($WaitingTime / 60 % 60), $WaitingTime % 60);
 $timestamp = strtotime($strat_time);
 $chat_start=date("Y-m-d H:i:s", $timestamp);
$time = new DateTime($chat_start);
$time->add(new DateInterval('PT' . $i . 'M'));
 $chat_end = $time->format('Y-m-d H:i:s');
?>

3 个答案:

答案 0 :(得分:2)

以下内容实现了这一点:

<?php

$durationSeconds = 1423;

$startDateString = '11/19/2014 4:57 AM';
$startTime = new DateTime($startDateString);
$startString = $startTime->format('Y-m-d H:i:s');

$duration = new DateInterval('PT'.$durationSeconds.'S');
$hours = floor($durationSeconds / 3600);
$minutes = floor(($durationSeconds - ($hours * 3600)) / 60);
$seconds = $durationSeconds % 60;
$durationString = $hours.':'.$minutes.':'.$seconds;

$startTime->add($duration);
$endString = $startTime->format('Y-m-d H:i:s');

答案 1 :(得分:0)

谢谢大家,这是我的答案。

<?php
$WaitingTime=1423;
$strat_time="11/19/2014 2:49:23";
$dateinsec=strtotime($strat_time);
$newdate=$dateinsec+$WaitingTime;
$chat_start=date("Y-m-d H:i:s", $dateinsec);
$chat_end= date('Y-m-d H:i:s',$newdate);
$duration = sprintf('%02d:%02d:%02d', ($WaitingTime / 3600), ($WaitingTime / 60 % 60), $WaitingTime % 60);
                    <?

答案 2 :(得分:0)

这是我的回答2

$time1 = strtotime("$call_start");
$time2 = strtotime($call_end);
$diff = $time2 - $time1;
 $ath = sprintf('%02d:%02d:%02d', ($diff / 3600), ($diff / 60 % 60), $diff % 60);