PHP获取身份证年龄和性别

PHP获取身份证年龄和性别,网上找了几个都不大好,自己弄一个

<?php
declare(strict_types=1);

namespace App\Helper;

class CertNumberHelper
{
    public static function getAge(string $id): int
    {
        $birthDate = strtotime(substr($id, 6, 8));//截取日期并转为时间戳
        $year = date('Y', $birthDate);
        $month = date('m', $birthDate);
        $day = date('d', $birthDate);

        $currentY = date('Y');
        $currentM = date('m');
        $currentD = date('d');

        $age = $currentY - $year;
        if ($month > $currentM || ($month == $currentM && $day > $currentD)) {
            $age--;
        }
        return $age;
    }

    public static function getGender(string $id): string
    {
        return intval(substr($id, (strlen($id) == 15 ? -1 : -2), 1)) % 2 == 1 ? '男' : '女';
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值