2012-11-20 50 views

回答

2

對於給定的例子,您的預期結果將是16:45:00,對吧?所以你需要以小時爲單位的兩個給定日期之間的差異:分鐘:秒。

<?php 
    //initial strings 
    $ts='2011-04-13 23:00:00'; 
    $ts1='2011-04-14 15:45:00'; 

    //converting to time 
    $start = strtotime($ts); 
    $end = strtotime($ts1); 

    //calculating the difference 
    $difference = $end - $start; 

    //calculating hours, minutes and seconds (as floating point values) 
    $hours = $difference/3600; //one hour has 3600 seconds 
    $minutes = ($hours - floor($hours)) * 60; 
    $seconds = ($minutes - floor($minutes)) * 60; 

    //formatting hours, minutes and seconds 
    $final_hours = floor($hours); 
    $final_minutes = floor($minutes); 
    $final_seconds = floor($seconds); 

    //output 
    echo $final_hours . ":" . $final_minutes . ":" . $final_seconds; 
?> 

這給了我正確的結果。希望我解決了你的問題!

+0

但我使用變量$ ts = $ UpT; $ TS1 = $ DownT;而不是2012-11-18 03:00:05- 2012-11-05 12:46:13顯示結果0:0:0 –

+0

那麼你沒有在你的問題中提到這個。 $ UpT和$ DownT的內容是什麼?它是像例子中的字符串嗎? –

+0

是的,這是相同的$ UpT = 2012-11-18 03:00:05和$ DownT = 2012-11-05 12:46:13 –

相關問題