2016-03-04 62 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

相关问题