我想找到即将到来的访客的结束时间。我已经通过API在我的数据库中记录了Intime&duration,但是API没有提供End Time选项。看来我必须从(Intime&Duration)计算结束时间。但是我确实找到了结束时间。但是它花费了太多的时间来处理代码,并且我遇到了致命错误之类的错误:第68行的D:\ xampp-portable \ htdocs \ logmein \中超过了600秒的最大执行时间。

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

开始时间2014/11/19 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');
?>

最佳答案

可以通过以下方式实现此目的:

<?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');

关于php - 使用php向日期添加秒数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27040535/

10-09 16:12
查看更多