我有下面的 php 函数,它从数据库中获取一个以秒为单位的时间参数。秒数在数据库中是 float(6,1) 类型。然后我将该值传递给下面的函数。我遇到的问题是,如果我有 1655.5 秒,我可以获得小时、分钟和秒。但是我如何获得剩余的毫秒数。
即 1655.5 = 27m:35s.5ms
提前感谢您的帮助。
<?php
function convertTo($init)
{
$hours = ($init / 3600);
$minutes = (($init / 60) % 60);
$seconds = $init % 60;
if($minutes < 10)
{
$minutes = "0".$minutes;
}
if($seconds < 10)
{
$seconds = "0".$seconds;
}
$milli = /* code to ret the remaining milliseconds */
$stageTime = "$minutes:$seconds.$milli";
return $stageTime;
}
?>
最佳答案
可能有点违反直觉,最简单的方法是提取毫秒作为第一步。
简单floor()
初始值,并从输入中减去结果。这将为您提供小数点的右侧,然后您可以将其乘以 1000 得到毫秒数 - 然后您应该将其转换为整数以确保生成的字符串是合理的。
function convertTo($init)
{
$secs = floor($init);
$milli = (int) (($init - $secs) * 1000);
$hours = ($secs / 3600);
$minutes = (($secs / 60) % 60);
$seconds = $secs % 60;
// ...
关于php - 将秒( float )转换为毫米 :ss:ms in php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17820239/