人の年齢を計算する関数に日付を渡そうとしています。ただし、データベースでは日付がYmd形式であるため、「Ymd」形式で渡す必要があります。文字列の連結を試しましたが、マイナス(-)演算子を使用して数値を操作したためか、失敗しました。同じ方法を教えてください。
$ dob変数でDOBをフェッチし、それをCalculateAge($ dateofbirth)関数に渡します。
コードは次のとおりです。
function CalculateAge($BirthDate)
{
// Put the year, month and day in separate variables
list($Year, $Month, $Day) = explode("-", $BirthDate);
//echo $Year;
$YearDiff = date("Y") - $Year;
// If the birthday hasn't arrived yet this year, the person is one year younger
if(date("m") < $Month || (date("m") == $Month && date("d") < $Day))
{
$YearDiff--;
}
if(date("m") > $Month || date("m") == $Month)
$MonthDiff = date("m") - $Month;
else
$MonthDiff = 12 - $Month + date("m");
$age = $YearDiff + $MonthDiff/12;
return $age;
}
$dob = mysql_query("SELECT date_of_birth FROM kids_informations WHERE user_id = '$usid'");
$rs = CalculateAge($dob);