在PHP中使用时间的乘法

Bij*_*u s 2 php time

我需要PHP中的时间倍增

$maritime ='01:10:00';       
Run Code Online (Sandbox Code Playgroud)

我需要将此$maritime 增加到5
我想得到这样的答案

01:10:00*5 =  05:50:00
Run Code Online (Sandbox Code Playgroud)

Sul*_*een 9

这是你应该做的

第1步:将您的小时数转换为秒

$seconds = strtotime("1970-01-01 $maritime UTC");
Run Code Online (Sandbox Code Playgroud)

第2步:直接乘以它

$multiply = $seconds * 5;
Run Code Online (Sandbox Code Playgroud)

第3步:将秒数转换回数小时,然后就完成了!

echo gmdate("d H:i:s",$multiply);
Run Code Online (Sandbox Code Playgroud)

所以你的最终代码应该是

<?php
$maritime ='01:10:00';
$seconds = strtotime("1970-01-01 $maritime UTC");
$multiply = $seconds * 5;  #Here you can multiply with your dynamic value
echo gmdate("d H:i:s",$multiply);
Run Code Online (Sandbox Code Playgroud)

这是显示输出的Eval链接

更新:

如果你工作超过一天

即时间*25次,那么它将超过一天

然后我的输出将是 02 05:10:00

但如果你想在几个小时内完全想要它,你应该使用 DateTime

<?php
$maritime ='01:10:00';
$seconds = strtotime("1970-01-01 $maritime UTC");
$multiply = $seconds * 25;  #Here you can multiply with your dynamic value
$seconds = $multiply;
$zero    = new DateTime("@0");
$offset  = new DateTime("@$seconds");
$diff    = $zero->diff($offset);
echo sprintf("%02d:%02d:%02d", $diff->days * 24 + $diff->h, $diff->i, $diff->s);
?>
Run Code Online (Sandbox Code Playgroud)

这是Eval Link

  • 是的,这比我的解决方案更好. (2认同)