2017-06-19 78 views
-6

我有一個PHP的形式,它包括人的生日3個字段: iBirthday,iBirthMonth(INT 1至12),和iBirthYear(INT 4位)計算人的年齡從PHP

我試圖來計算,如果在運行SQL INSERT之前,按下提交按鈕的人大於18歲。

我該如何計算?我不知道如何將這3個int連接成一個日期,並與當前日期進行比較。

我有一些測試,工作,例如

//Check if gender is NULL 
if ($iGender == '') { 
$sTopError = gettext('Did not select Gender'); 
$bErrorFlag = true; 
} 

我願做一個類似的試驗,上面寫着:「人不超過18年。」

+2

http://php.net/mktime – deceze

回答

-1

該功能可以將YYYY-MM-DD格式返回的年用量從給定日期:

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

    $today = new DateTime($today); 
    $date = new DateTime($date); 

    $diff = $date->diff($today)->format("%Y"); 

    return (int)$diff; 
} 

用法:

echo get_age('2000-02-01'); 
+0

爲什麼要OP「使用這個」?一個好的答案***將總是解釋所做的事情以及爲什麼這樣做,不僅是爲了OP,還是爲了將來訪問SO。 –