2013-07-05 65 views
1

我有一個PHP應用程序中,我有兩個日期獲得兩個日期

$interval = date("Y-m-d",time()) - date("2013-07-1"); 

然而之間比較之間的天數,它總是返回0$interval值。

如何修改代碼來解決問題?

+0

RTFM:http://php.net/date'date()'返回一個** STRING **,所以你做的就相當於''apple' - 'orange''。 –

回答

5

改爲嘗試DateTime。這裏

<?PHP 
    $datetime1 = date_create('2013-07-3'); 
    $datetime2 = date_create(); 
    $interval = date_diff($datetime1, $datetime2); 
    echo $interval->format('%D %M %Y'); 
?> 
1

示例代碼如果你使用PHP> = 5.2,請嘗試使用DateTime類:

$interval = date_diff(new DateTime(), new DateTime('2013-07-3')); 
$days = $interval->days; 
0

我認爲它始終是最好的datetime值工作 - 因爲第二整數表示(我認爲)01/01/1970?

無論如何,穆罕默德是非常正確的,除非我不認爲你想改變你的結果回到日期。

玉碎:60,3600

$interval=time()-strtotime("2013-07-1"); 
// $interval will therefore hold the number of seconds difference between the dates. 

鴻溝$區間,(24 * 3600)來獲取分鐘,幾小時或幾天。

+0

最好使用時間戳,因爲當前時區正在使用DST時(當某些日期可能持續23或25小時),它們可能會出現奇怪的問題, – Qualcuno