2016-03-04 30 views
1

對不起,我對PHP很陌生。我在Google上搜索了類似的問題,但他們表示如果使用PHP版本5.2+應該沒有問題。我不知道我現在使用的是什麼版本。錯誤消息如下所示:使用php檢索不同年份

Fatal error: Call to undefined method DateTime::diff() in line 3 at $interval

如果我註釋掉第3行和第4行,它可以運行,但無法檢索到不同的日期。我只想要一年。有人能幫我弄清楚是什麼問題嗎?提前致謝。

$date1 = new DateTime("$bday"); 
$date2 = new DateTime("now"); 
$interval = $date1->diff($date2); 
$diff = $interval->format('%y-%m-%d'); 
$dif2 = explode("-",$diff); 

$umur = $dif2[0]; 
if($umur < 10){ $catumur = 1; } 
if(($umur > 9)&&($umur < 20)){ $catumur = 2; } 
if(($umur > 19)&&($umur < 60)){ $catumur = 3; } 
if($umur > 59){ $catumur = 4; } 
+0

你有進入命令行;或者可能您的版本顯示在頁眉中? 「X-Powered-By」下的響應標題。 – chris85

+0

['DateTime :: diff()'](http://php.net/manual/en/datetime.diff.php)在PHP 5.3上引入。 'DateTime'在PHP 5.3上很麻煩。升級到最新版本(PHP 7.0或至少PHP 5.6)。 – axiac

+0

(http://s15.postimg.org/6fcnlg47v/Capture.jpg)..如何將這些編碼更改爲PHP ver5.2.9?如果我升級最新版本的PHP,我怕另一個瀏覽器不支持它們。也許。 – ZackZeidy

回答

0

你的代碼沒有問題。要檢查你的PHP的版本,創建一個PHP文件,並在其中,使用phpinfo()。運行它,它會顯示你的PHP的所有細節。

<?php 
    phpinfo(); 

enter image description here

+0

[鏈接](http://s15.postimg.org/6fcnlg47v/Capture.jpg) 我不知道上傳image..sorry。該鏈接可能有所幫助。 我沒有任何想法。 – ZackZeidy

+0

我明白了。最好的事情,正如你的帖子中的axiac所評論的那樣,嘗試將你的PHP版本升級到5.6版以避免遇到這些錯誤,該版本是穩定的。 – rmondesilva

+0

@ mondesilva ..我怕另一個瀏覽器不支持他們。 – ZackZeidy