首页 > 解决方案 > 计算特定月份和日期给定 DoB 的年龄

问题描述

我从注册页面收集了出生日期,并将其存储在数据库(MySQL)中。

根据 DoB 和当前日期,我必须确定年龄类别(成人/青少年),我使用下面的代码完成了这项工作,该代码在注册时完成。

但是,我想计算某个日期的年龄,例如每年 6 月 1 日。

$tdate = date('Y-m-d');
$from = new datetime($child_dob);
$to =new datetime($tdate);
$age = $from->diff($to)->y;
    if ($age > 21)
       $agecategory = "Adult";
    else 
       $agecategory = "Youth";

因为年份会不断变化,我认为它与执行计算无关,但我不确定如何进行计算。

任何帮助,将不胜感激。

标签: phpmysql

解决方案


你可以这样试试——

<?php
$future_date = "01 June,2019"; // date string of future
$june = date('Y-m-d',strtotime($future_date)); // make it Y-m-d format from string
$tdate = date('Y-m-d');
$from = new datetime($june);
$to =new datetime($tdate);
$age = $from->diff($to)->y;
    if ($age > 21)
       $agecategory = "Adult";
    else 
       $agecategory = "Youth";
?>

推荐阅读