可能重复:
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
我知道这是一个数学表达我做错了,任何帮助都会得到一个清晰的解释。
答案 0 :(得分:0)
不是最优雅的解决方案,但这有效:
$original = (19800 / 60 / 60);
$hours = floor($original);
$minutes = ($original - $hours) * 60;
或者使用模数可能更好:
$hours = floor(19800 / 60 / 60);
$minutes = (19800 / 60) % 60;