2012-12-12 68 views
2

我試圖將6783分鐘轉換爲天,小時和分鐘,但我無法獲得正確的小時數。現在它顯示67835 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包含的總分鐘裏,我一直在在線前夕,這是6783分鐘在線。

我該怎麼做才能顯示正確的小時數?

在此先感謝。

回答

2

你忘了包幾小時以及幾分鐘。

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

And ...鑄造到string分割東西沒有多大意義。

+0

非常感謝! :)它像一個魅力工作。我會盡可能接受你的答案。你對'(字符串)'是正確的。我已經從我的源代碼中刪除了它們:) – Erik

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