PHP - 用整数或字符串减去今天的年份

时间:2015-08-29 12:19:47

标签: php

我的表格中有以下列: birth_year,birth_month,birth_day

表中的示例数据

birth_year         birth_month        birth_day
1996               April              1

我只需要了解用户的年龄。

它不需要准确。 我只需要减去今天的年份和他/她的birth_year

示例:

他的出生年份是1996年

,今天的日期是2015年

if($row = mysqli_fetch_assoc($query_run)
{
       $birth_day = $row['birth_year'];    //data from the database which equals to 1996
       $today = date("Y");                 //year today
       $age = $today - $birth_day;        //age of this user
        echo $age;                        //this should output 19
}

我的问题上面的$age变量回显了空白或空值。

以下是可能与我的问题相似的来源:

source 1 source 2

我的问题与我之间的区别在于我无法遵循DateTime的格式,因为我的注册表格看起来像这样。

enter image description here

2 个答案:

答案 0 :(得分:2)

尝试使用

$age = intval( $today ) - intval( $birth_day );

同时检查你的mysql查询是否返回你期望的内容(你没有提供它,所以很难检查)。

答案 1 :(得分:0)

尝试使用datetime:

if($row = mysqli_fetch_assoc($query_run){
    $birth_day = $row['birth_year'];
    $bday = new DateTime($birth_day);
    $today = new DateTime(date("Y"));
    $age = $today->diff($bday);
    echo $age->y;
}