2012-08-24 48 views
0

我完全陷在這裏。我試圖從現在的時間到現在的下午6點的7天內得到多少小時和幾分鐘的迴應。我查看從$差異變量產生的秒數,當我將數學轉換爲數小時和分鐘時,它是正確的,但由於某種原因,當我在輸出語句中調用特定日期,小時和分鐘時,是不正確的。我究竟做錯了什麼。這是代碼。計算現在和x之間的倒計時天數以達到一天中的時間

<?php 
date_default_timezone_set('America/New_York'); 
$nextWeek = strtotime('+7 days'); 
$m = date('n', $nextWeek); 
$d = date('j', $nextWeek); 
$y = date('Y', $nextWeek); 
$difference = mktime(18,0,0,$m,$d,$y) - time(); 


echo '<p>Current date and time is' .date(' l F d, Y '). 'at '.date('g:i a').' You have an appointment in a week on '.date(' n/j/Y ', $nextWeek).' at 6pm. There are ' .date(' j ', $difference).' days, ' .date(' g ', $difference).' hours, and ' .date(' i ', $difference).' minutes until your appointment.</p>'; 

echo mktime(18,0,0,$m,$d,$y),"\n"; 
echo $difference; 

?> 

回答

0

的問題是,你正在使用的一個數字,並不代表日期 PHP的date()功能。您的變量$difference表示兩個日期之間的差異,以秒爲單位。爲了得到正確的輸出,你應該寫自己的函數到這些秒轉換爲天,小時,分鐘數等

它可能是這個樣子:

function getTimeText($seconds) 
{ 
    $return = array(); 

    $return["days"] = floor($seconds/86400); // 86400 seconds in a day 
    $seconds -= ($return["days"]*86400); 

    $return["hours"] = floor($seconds/3600); // 3600 seconds in an hour 
    $seconds -= ($return["hours"]*3600); 

    $return["minutes"] = floor($seconds/60); // 60 seconds in a minute 

    return $return; 
} 
+0

謝謝大家。 Travesty3你是對的。我的問題是我錯誤地考慮了time()的使用,並且當我意識到需要將秒轉換爲日,小時和分鐘時。這就是我想出來的,似乎能完成這項工作。告訴我,如果你看到這個缺陷。 – user1622977

+0

'<?php date_default_timezone_set('America/New_York'); $ nextWeek = strtotime('+ 7 days'); $ m = date('n',$ nextWeek); $ d =日期('j',$ nextWeek); $ y = date('Y',$ nextWeek); $ difference = mktime(18,0,0,$ m,$ d,$ y) - time(); $ days =(int)($ difference/86400); $ remaining1 = $差異%86400; $ hours =(int)($ remainder1/3600); $餘額2 = $餘額1%3600; $ mins =(int)(ceil($ remaining2/60));' – user1622977

+0

'echo'

當前日期和時間爲'.date('l F d,Y')。 ' at '.date('g:i a')'。'您在'.date('n/j/Y',$ nextWeek)一週內預約。'下午6點到達。有'。$天。 '天,'。$小時。'小時,'。$ mins。'分鐘直到您的預約。

'; ?>' – user1622977

0

嘗試檢查出this。下面的示例部分向您展示瞭如何在幾天內找到兩個日期之間的差異。您應該可以通過更改格式,在18:00後的7天內使用它返回當前時間和時間之間的差異。