我有一个看起来像这样的代码:
$dagtidhelg = gmdate('H:i', $diffMorning) . "\n";
$kvallstidhelg = gmdate('H:i', $diffNight);
此代码自从mysql每次加载一行以来,每页运行几次。 它可以返回一个时间值,即08:15和09:30。这是两个工作会议的长度。
那很好,但是现在我停滞了,我想在底部显示每个工作会议的总数。我已经尝试过了:
$dagtidhelgtotal = $dagtidhelgtotal + $dagtidhelg;
$kvalltidhelgtotal = $kvalltidhelgtotal + $kvallstidhelg;
但这只会增加小时数,甚至不会显示: 所以我猜测我这样做完全是错误的。
如何将这些时间添加到gheter?也许将它们转换为分钟数,然后将其全部添加到togheter?
答案 0 :(得分:0)
将持续时间加在一起很简单。但是必须记住,持续时间和日期是完全不同的两件事。您可以为持续时间写100:08,但不能写日期。如果您的目的是在每个页面上保持持续时间计数器,则需要基于$_SESSION
变量构建系统。
要添加两个duree,您可以像这样进行操作:
function addDuration($duration1,$duration2){
$result=array_map(function($x,$y){return sprintf("%'.02d", $x+$y);},explode(':',$duration1),explode(':',$duration2));
if($result[1]>60){
$result[0]=sprintf("%'.02d",$result[0]+(int)$result[1]/60);
$result[1]=sprintf("%'.02d",$result[1]%60);
}elseif($result[1]==60){
$result[1]="00";
$result[0]=sprintf("%'.02d",$result[0]+1);
}
return join(':',$result);
}
,您的情况下的用法可能是:
$dagtidhelgtotal = addDuration($dagtidhelgtotal,$dagtidhelg);
如果我们认为
$dagtidhelgtotal ==='100:09' && $dagtidhelg === '08:08'
然后添加
$dagtidhelgtotal
将等于'108:17'
;