2

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私がEVEOnlineでオンラインにした合計分数は6783分です。

適切な時間を表示するにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

2

分だけでなく時間もラップするのを忘れました。

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

そして...何かを分割するためにキャストするstringことはあまり意味がありません。

于 2012-12-12T02:49:23.850 に答える
0
$start = 6783;
$days = $start / 1440;
$start = $start % 1440;
$hours = $start / 60;
$start = $start % 60;
$minutes = $start;
于 2012-12-12T02:49:39.173 に答える