2014-02-20 99 views
-4

我發現如何計算用戶的年齡,通過在選擇框中以日,月和年的格式輸入他們的出生日期。接下來,我以dd-mm-yyyy格式解析它們的dob。我創建了一個新的DateTime並將它命名爲今天,然後我只是使用DateDiff來查找年齡。問題是更新版本的PHP不再支持DateDiff()。 任何人都知道可以使用我現有的代碼的工作? 對不起,我是一個新手,所以我可能需要你的建議很多例子。DateDiff問題()

計算年齡

$d=$_POST['day']; 
$m=$_POST['month']; 
$y=$_POST['year']; 

//converting Inputed DOB in "dd-mm-yyyy" format 
$dob=$d.'-'.$m.'-'.$y; 

//Create a new date object with current system date 
$bday=new DateTime($dob); 

//Differentiating both dates 
$age=$bday->date_diff(new DateTime); 

$today=date('d-m-Y'); 


$birthdate = mysql_prep($dob); 
$c_age = $age->y; 
+4

誰說'date_diff()'在新版本的PHP中不被支持?它只能從5.3版本開始使用:http://www.php.net/date_diff –

回答

0

用途:

$age = $bday->diff(new DateTime); 

或:

$age = date_diff($bday, new DateTime()); 

$c_age = $age->y; 

兩個版本都是可能的,P租約參見manual

+0

呃我得到的是這個錯誤: 致命錯誤:調用未定義的函數date_diff()在/ home/mydentis/public_html/test/create_patient中。 php 45行 – user3333324

+0

您使用的是哪個版本的php? – hek2mgl

+0

PHP 5.2.17,erm是否被認爲是舊的? – user3333324