Facebook で自分のページにログインするユーザーの年齢を取得するために誕生日を取得しようとしています。自分のプロフィールでログインしようと試み続けていますが、間違った年齢が表示されます。以下は、process_facebook.php にあるコードです (int を取る「age」というフィールドを持つデータベースがあります)。
function getAge($birthday) {
$dt = strtotime($birthday);
// convert the birthday to a standard format (UNIX epoch)
$a = gmdate('Y') - gmdate('Y',$dt);
// find the difference of years
$a = (int)$a;
return $a; // return the age.
}
典型的な process_facebook.php フレームワーク内には、次のものがあります。
$birthday = $me['birthday'];
$age = getAge($birthday);
Facebook で自分の誕生日が 1987 年 1 月 4 日であることはわかっています ($birthday の文字列 "01/04/1987" として取得する必要があります)。しかし、データベースのフィールドに値が入力されると、43 という数字が表示されます。
$birthday として "01/04/1987" をフィードするコードを個別に実行してみましたが、26 を吐き出しました。
何が起こっているのかわかりません (Facebook が私に間違った誕生日を伝えているのでしょうか?) 事前にご協力いただきありがとうございます。