我正在使用 Codeigniter,我想对视图做减法。
<?php
$cadena = strtotime($seguimiento->horaInicio);
$cadena = date("H:i", $cadena);
echo $cadena;
$cadena2 = strtotime($seguimiento->horaTermino);
$cadena2 = date("H:i", $cadena2);
echo $cadena2;
$res = abs($cadena - $cadena2);
echo $res;
?>
如果时间是 11:30 16:15
结果应该是4,85
,而是它显示给我5
。我希望我已经很好地解释了自己。
var HDesde = $(this).data("inicio");
var HHasta = $(this).data("fin");
// var dia = $(this).data("dia");
// if (i=0) { fecha = dia; }
hora1 = (HDesde).split(":");
hora2 = (HHasta).split(":");
HoraDesde=(hora1[0]);
MinutoDesde=(hora1[1]);
HoraHasta=(hora2[0]);
MinutoHasta=(hora2[1]);
TotDesde=parseInt((HoraDesde*60)) + parseInt(MinutoDesde);
TotHasta=parseInt(HoraHasta*60) + parseInt(MinutoHasta);
RestaHoras=(TotHasta - TotDesde);
TotHorasTrab=(RestaHoras / 60).toFixed(2);
$(this).html(TotHorasTrab);
php diff函数可以帮助您。
该变量
$interval
的类型为DateInterval;如果您想使用该变量进行操作,例如将其添加到另一个日期,您可以使用add函数:DateTime
关键是您需要使用两个有效的对象diff
。从那里你可以得到一个项目DateInterval
。diff
然后,您可以利用该对象的属性来执行您需要的任何计算。例如:
你有输出:
如果您查看对象内部,
$dateInterval
您将看到它包含的内容:我们做一个
var_dump($dateInterval);
,我们将拥有:假设现在你想计算你有多少分钟。您将适当的计算应用于
d, h, i
对象的属性(天、小时、分钟):您将在输出中获得:
另一种方式
您可以做的另一件事是获取两个对象的时间戳,减去它们的值并对其进行操作。
让我们来看看:
在这种情况下,输出将是:
使用循环的累积计算
假设您的对象是这样的。
您可以创建一个计算总秒数的函数,在变量中累积,最后使用该总数来表示所需的数据:
离开:
我建议您使用一个名为 Carbon 的包,这是它的文档https://carbon.nesbot.com/docs/,这是我见过的最好的在 php 中处理日期。
例子:
而($query = mysqli_fetch_array($results)) {