如何在PHP中动态添加带有持续时间的时间?

时间:2018-09-24 11:03:29

标签: php sql time

我正在从数据库中获取开始日期和总持续时间。如何增加时间和持续时间来计算php中的总时间

以下是数据iam动态获取的信息。

<?php 
$currenttime= date("H:i");
$starttime=$entrance->start_time;
$duration=$entrance->duration;

?>

<?php
$finalstarttime= $starttime + $duration ;
?>
如何获得以上结果。 时间格式为H:i

2 个答案:

答案 0 :(得分:3)

使用类DateTime会是这样的:

<?php

$starttime = "16:15";
$duration= "10";

$finalstarttime = (DateTime::createFromFormat("H:i", $starttime))->add(new DateInterval("PT".$duration."M"));

echo $finalstarttime->format("H:i"); // 16:25

其中

DateTime::createFromFormat("H:i", $starttime)

创建给定时间字符串的DateTime对象

new DateInterval("PT".$duration."M")

创建一个DateInterval(以分钟为单位)

通过DateTime::add()

添加到开始时间

答案 1 :(得分:2)

$stamp =  mktime(16, 15);
$stamp += 60 * 10;

echo date("H:i", $stamp);

OR

$stamp =  strtotime("16:15");
$stamp += 60 * 10;

echo date("H:i", $stamp);

输出:16:25

使用mktimestrtotime将小时和分钟转换为时间戳(以秒为单位),将持续时间转换为第二10 min * 60,将两者相加。

现在使用date函数返回最后一次时间