【问题标题】:Calculate person age from PHP [duplicate]从PHP计算人的年龄[重复]
【发布时间】:2017-11-21 14:05:09
【问题描述】:

我有一个 PHP 表单,其中包括 3 个人员生日字段: iBirthday、iBirthMonth(整数 1 到 12)和 iBirthYear(整数 4 位)

我正在尝试在运行 SQL INSERT 之前计算此人是否超过 18 岁,按下提交时。

我该如何计算?我不知道如何将这 3 个 int 连接成一个日期,并与当前日期进行比较。

我有一些有效的测试,例如

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

我想做一个类似的测试,上面写着:“不超过 18 岁的人”。

【问题讨论】:

标签: php date


【解决方案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');

【讨论】:

  • 为什么 OP 应该“使用这个”? 好的答案将始终解释所做的事情以及为什么以这种方式完成,不仅是为了 OP,也是为了 SO 的未来访问者。跨度>
猜你喜欢
  • 2011-03-23
  • 1970-01-01
  • 2020-12-28
  • 2011-04-16
  • 1970-01-01
  • 2012-03-26
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
相关资源
最近更新 更多