PHP 通过两个日期计算年龄

目录

一、根据出生日期计算当前时间的年龄

二、通过两个不同的日期计算年龄


一、根据出生日期计算当前时间的年龄

参数:$birth_year:出生年份;$birth_month:出生月份;$birth_day:出生日

function getAgeByBirth($birth_year,$birth_month,$birth_day){
  if(empty($birth_year) || empty($birth_month) || empty($birth_day)){
    return 0;
  }
  $current_year = date('Y',time());
  $current_month = date('m',time());
  $current_day = date('d',time());
  if($birth_year >= $current_year){
    return 0;
  }
  $age = $current_year - $birth_year - 1;
  if($current_month>$birth_month){
    return $age+1;
  }else if($current_month == $birth_month && $current_day>=$birth_day){
    return $age+1;
  }else{
    return $age;
  }
}

二、通过两个不同的日期计算年龄

参数:birthDate 出生年月日,currentDate 另外一个日期

// 通过出生年月日计算年龄
function calculateAge($birthDate,$currentDate) {  
    // 将出生日期和当前日期字符串转换为 DateTime 对象  
    $birthDateTime = new DateTime($birthDate);  
    $currentDateTime = new DateTime($currentDate);  
      
    // 计算两个日期之间的差异  
    $ageInterval = $currentDateTime->diff($birthDateTime);  
      
    // 直接返回年份差,这就是两个日期之间的年龄差异  
    return $ageInterval->y;  
}  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值