2012-12-02 18 views
1

我想倒計時多久,直到某些過期,但它不起作用。特別是,使用datetime的diff函數基本上返回一個沒有任何內容的日期間隔(全爲0)。下面的代碼:PHP - 爲日期添加時間間隔並使差異不起作用

$created = new DateTime("2012-11-20"); 
    $expires = $created; 
    $expires->add(new DateInterval("P14D")); //adds a week 
    $timeLeft = $created->diff($expires); 
    echo $timeLeft->format('%a days'); 

問題是這樣的代碼返回0天總是..

回答

4

的主要問題是,你是如何複製的對象,你需要克隆的對象,而不是取代..

$expires = $created; 

隨着

$expires = clone $created; 

全碼

$created = new DateTime("2012-11-20"); 
$expires = clone $created; 
$expires->add(new DateInterval("P14D")); //adds 14 days 
$timeLeft = $created->diff($expires); 
echo $timeLeft->format('%a days'); 

輸出

14 days 

See Live Demo