使用两位小数将秒转换为时间

时间:2012-09-04 18:28:59

标签: php datetime mathematical-expressions

  

可能重复:
  Convert seconds into days, hours, minutes, seconds in PHP
  How to convert a decimal into time, eg. HH:MM:SS

我在这里做的是我在mysql中将发布时间保存为UTC,从sql检索时间戳后我使用strtotime()将其转换为秒,然后将这些秒的偏移时间添加到显示当前的当地时间。现在的问题是,当我尝试将这些秒重新转换为几小时时,例如

$seconds = 330*60 //Thats 5.30 hours and 60 seconds gives me 19800 as an output

现在,当我将它重新转换回数小时时,它显示我5.50而不是5.30

sprintf ("%.2f", 19800/60/60); //Output of 5.50 instead I want is 5.30 

我知道这是一个数学表达我做错了,任何帮助都会得到一个清晰的解释。

1 个答案:

答案 0 :(得分:0)

不是最优雅的解决方案,但这有效:

$original = (19800 / 60 / 60);
$hours = floor($original);
$minutes = ($original - $hours) * 60;

或者使用模数可能更好:

$hours = floor(19800 / 60 / 60);
$minutes = (19800 / 60) % 60;