从分钟正确计算小时数



我正在尝试将 6783 分钟转换为天、小时和分钟,但我无法正确获取小时。现在它表明6783正在5 days, 113 hours, and 3 minutes.如您所见,时间是完全错误的!这是我当前使用的代码:

define('CONFIGURATION_HOURSPERDAY',     '24');
define('CONFIGURATION_HOURS',           intval((string)$stats->result->logonMinutes / 60));
define('ACTIVITY_DAYS',                 round(CONFIGURATION_HOURS / CONFIGURATION_HOURSPERDAY));
define('ACTIVITY_HOUR',                 intval((string)$stats->result->logonMinutes / 60));
define('ACTIVITY_MINUTES',              ((string)$stats->result->logonMinutes % 60));
if(ACTIVITY_DAYS > 0) {
    echo ACTIVITY_DAYS.' '.(ACTIVITY_DAYS == 1 ? 'day' : 'days');
}
echo ', '.ACTIVITY_HOUR.' '.(ACTIVITY_HOUR == 1 ? 'hour' : 'hours');
echo ', and '.ACTIVITY_MINUTES.' '.(ACTIVITY_MINUTES == 1 ? 'minute' : 'minutes');

$stats->result->logonMinutes包含我在EVE Online中在线的总分钟数,即6783分钟。

我应该怎么做才能显示正确的小时数?

提前谢谢。

你忘了换乘小时和分钟。

define('ACTIVITY_HOUR', intval((string)$stats->result->logonMinutes / 60) % 24);

而且......投掷到string来分割某些东西没有多大意义。

$start = 6783;
$days = $start / 1440;
$start = $start % 1440;
$hours = $start / 60;
$start = $start % 60;
$minutes = $start;

最新更新