2014-03-31 47 views
-1

當我扣除兩個日期時,我得到錯誤的值。 這是我的代碼:負2日期時的錯誤值

$date2=strtotime('01-08-2014'); 
$date1=strtotime('28-06-2014'); 
$diff=$date2-$date1; 

輸出:

$diff=-27 

編輯:

$date2 should be --> date('d/m/Y',strtotime('01-08-2014')); 
$date1 should be --> date('d/m/Y',strtotime('28-06-2014')); 

誰能解決我的問題?

感謝

+0

什麼是'$ date'定義爲? –

+0

應該是'$ date1'而不是'$ date'。 – Rikesh

+0

它沒有。當我測試它時,我得到了'2937600'的輸出,這可能是正確的。您需要向我們展示更多代碼。該錯誤必須在其他地方。 –

回答

0

應該

$diff=$date2-$date; 

$diff=$date2-$date1; 
+0

沒有,這只是我的錯誤類型時,類型這個問題 – Mamen

+0

@ user2924643,代碼應該工作,請參閱鏈接https://eval.in/129231 – Girish

1

爲什麼不使用DateTime::diff

$datetime1 = new DateTime('01-08-2014'); 
$datetime2 = new DateTime('28-06-2014'); 
$interval = $datetime1->diff($datetime2); 
+0

我得到這個,回聲「$間隔」之後; - >類DateInterval的對象無法轉換爲字符串 – Mamen

+0

你可以回聲$區間的對象u能的print_r()和看到的值,並獲得值$ interval->男,$ interval-> d等檢查該手冊如何使用它。 –

0

試試這個:

<?php 
$daylen = 60*60*24; 

    $date1 = '2010-03-29'; 
    $date2 = '2009-07-16'; 

    echo (strtotime($date1)-strtotime($date2))/$daylen; 

?>