【发布时间】:2021-11-28 21:20:05
【问题描述】:
我想将秒的时间值转换为浮点数,而不是对其进行一些计算并使用 php 再次将其转换为时间值
我使用了下面描述的函数,但它只有小时和分钟的计算,如果有第二个值,它会显示错误的数量。
我从time conversion to float找到了这个函数
我使用了将时间转换为浮点数的函数
function hours_tofloat($val){
if (empty($val)) {
return 0;
}
$parts = explode(':', $val);
return $parts[0] + floor(($parts[1]/60)*100) / 100;
}
hours_tofloat("00:02:37");
如果我将上面的函数用于00:02:37 时间值,它会给我错误的浮点数,没有0.03,因为上面的函数没有第二个选项。所以请帮助我并指导如何计算它
【问题讨论】:
-
为什么要转成float?无论如何,浮点数都不准确(但近似)。
-
我要计算时间价值。时间价值的加减法效果不好
-
将它们转换为整数时间戳应该可以正常工作。换句话说,将整个事情转换为秒,然后进行数学运算。
-
它会在负时间值(如负 04:30:00 小时)中产生问题
-
所以你有时间成为
-04:30:00吗?只需将最后几秒乘以-1