我有一个 PHP 代码,它使用我的数据库中的数据并为我提供一个值。该代码运行良好,但存在小数问题,将其四舍五入到最接近的 1
这是我的时间格式的输入值
输入 1 09:21:00 输入 2 09:51:00 值应为 00:30:00 但它给我的值为 0
这是我的代码
<? echo $rows['at_base'] - $rows['disp_time']; ?>
如果我将输入 2 的值更改为 10:00:00,那么它会给我 1
如果我能得到一个类似于这个 00:30:00 的值,甚至是 1.3 就太好了
<tr>
<td align="center"><? echo $rows['disp_time']; ?></td>
<td align="center"><? echo $rows['on_scene']; ?></td>
<td align="center"><? echo $rows['leave_scene']; ?></td>
<td align="center"><? echo $rows['at_base']; ?></td>
<td align="center"><? echo $rows['at_base'] - $rows['disp_time']; ?></td>
<td align="center"><? echo $rows['close_km'] - $rows['open_km']; ?></td>
</tr>
最佳答案
您不能对字符串进行数学运算(即使它们被格式化为时间)。您需要使用正确的数据类型,这里可以使用 DateTime 对象(或通过将过程 date()
与 strtotime()
结合使用的时间戳)。
<?php
$start = new DateTime($rows['disp_time']);
$end = new DateTime($rows['at_base']);
$diff = $start->diff($end);
echo $diff->format("%H:%I:%S");
或者使用过程strtotime()
和date()
,
<?php
echo date("H:i:s", strtotime($rows['disp_time']) - strtotime($rows['at_base']));
关于php - PHP 计算中的值四舍五入到最接近的 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57287752/