Why does subtracting time return 1 instead of 0 after echo cancellation
I have this table in my opinion
duty | exact | undertime
12:00:00 | 12:00:00 | 01:00:00
period is the result $hour = $duty - $exact
, while i
echo date("H:i:s",$hour);
it repeated 01:00:00 expecting 00:00:00. What did I miss?
here is my code, I am using foreach because the debt and exact data is from my database query.
<?php foreach($unique_date as $unique_dates):?>
<tr>
<td align="center" colspan="2">
<?php echo date($unique_dates['dtr_date']);?>
</td>
<td align="center" colspan="2">
<?php $timediffs = $unique_dates['timediffs'];
echo $timediffs;
?>
</td>
<td align="center" colspan="2">
<?php $exact_total_sched = $unique_dates['exact_total_sched'];
echo $exact_total_sched;
?>
</td>
<?php
$duty = strtotime($timediffs);
$exact = strtotime($exact_total_sched);
?>
<?php
if($duty < $exact)
{
echo "<td align=\"center\" colspan=\"2\">";
#UNDERTIME
$hour1 = $exact-$duty;
echo date("H:i:s",$hour1);
echo "</td>";
echo "<td align=\"center\" colspan=\"2\">";
echo date("00:00:00");
echo "</td>";
}
else if($duty > $exact)
{
echo "<td align=\"center\" colspan=\"2\">";
echo date("00:00:00");
echo "</td>";
echo "<td align=\"center\" colspan=\"2\">";
#OVERTIME
$hour2 = $duty-$exact;
echo date("H:i:s",$hour2);
echo "</td>";
}
else if($duty == $exact)
{
echo "<td align=\"center\" colspan=\"2\">";
$hour3 = $duty-$exact;
echo date("H:i:s",$hour3);
echo "</td>";
echo "<td align=\"center\" colspan=\"2\">";
echo date("00:00:00");
echo "</td>";
}
?>
</tr>
<?php endforeach ?>
+3
source to share
2 answers