计算天小时和分钟php


Calculating days hours and minutes php

好吧,所以我向mysql数据库发送一个以毫秒为单位的整数。现在,我试着让它写着:播放时间:1天3小时15分钟。但我很难做到这一点,我只能得到几分钟、几天和几小时,但这将是小时总数、几天总数和几分钟总数,而不是一个数字。我的代码是这样的:

$time = $timeRow['time'];    
$seconds = floor($time / 1000);
$minutes = floor($seconds / 60);
$hours = floor($minutes / 60);
$days = round($hours / 24);
$milliseconds = $time % 1000;
$seconds = $seconds % 60;
$minutes = $minutes % 60;
echo'Time Played: '.$days.' days '.$hours.' hours '.$minutes.' minutes';

有人能帮我修一下吗?

<?php
$time = $timeRow['time'] / 1000;
$days = floor($time / (24*60*60));
$hours = floor(($time - ($days*24*60*60)) / (60*60));
$minutes = floor(($time - ($days*24*60*60)-($hours*60*60)) / 60);
$seconds = ($time - ($days*24*60*60) - ($hours*60*60) - ($minutes*60)) % 60;
echo'Time Played: '.$days.' days '.$hours.' hours '.$minutes.' minutes '.$seconds.' seconds';

测试:http://codepad.viper-7.com/WBQQet

您从原始数字生成每个变量,这就是为什么它告诉您这是1天35小时;而不是1天11小时。

您需要开始减去值:

$seconds = floor($time / 1000);
$minutes = floor($seconds / 60);
$hours = floor($minutes / 60);
$days = round($hours / 24);
for ($i = 0; $i < $days; $i++) {
    $hours -= 24;
}

还有一段类似的代码,用于数小时、数分钟和数秒。