当前位置: 首页 > news >正文

php通过身份证号码计算年龄

1.需求,需要获取工人的年龄来各种判断业务
2.代码方法

/*** 通过身份证号码计算年龄* @param $idCard* @return int|string $idCard 身份证号码* @throws Exception 年龄(成功)或空字符串(失败)*/static function getIdCardAge($idCard){// 如果身份证为空,直接返回空字符串if (empty($idCard)) {return '';}// 移除可能存在的空格$idCard = trim($idCard);// 验证身份证格式(简单验证,支持15位和18位)$isValid = preg_match('/(^\d{15}$)|(^\d{17}(\d|X|x)$)/', $idCard);if (!$isValid) {return '';}// 提取出生日期if (strlen($idCard) == 18) {// 18位身份证$birthDate = substr($idCard, 6, 8);$birthDate = sprintf('%04d-%02d-%02d',substr($birthDate, 0, 4),substr($birthDate, 4, 2),substr($birthDate, 6, 2));} else {// 15位身份证(转换为18位格式)$birthDate = '19' . substr($idCard, 6, 6);$birthDate = sprintf('%04d-%02d-%02d',substr($birthDate, 0, 4),substr($birthDate, 4, 2),substr($birthDate, 6, 2));}// 将出生日期字符串转换为时间戳$birthTimestamp = strtotime($birthDate);// 获取当前时间戳$nowTimestamp = time();// 计算出生年份和当前年份$birthYear = date('Y', $birthTimestamp);$currentYear = date('Y', $nowTimestamp);// 计算年龄$age = $currentYear - $birthYear;///* $birthMonthDay = date('md', $birthTimestamp);$currentMonthDay = date('md', $nowTimestamp);if ($currentMonthDay < $birthMonthDay) {$age--;}*/return $age;}

3.注意**
1.身份证格式错误,会返回空

http://www.dtcms.com/a/585119.html

相关文章:

  • 基于PHP+Vue+小程序快递比价寄件系统
  • Next.js、NestJS、Nuxt.js 是 **Node.js 生态中针对不同场景的框架**
  • 牛客周赛 Round 114 Java题解
  • PostgreSQL 中数据库、用户、对象关系、表、连接及管理概述
  • 樟树市城乡规划建设局网站爱站攻略
  • Gitblit 迁移指南
  • Git分支管理核心:git fetch与git checkout创建分支完全指南
  • LRU 缓存的设计与实现
  • Linux -- 线程互斥
  • 2.2 Transformer 架构详解:从理论到实践
  • 《Docker+New Relic+Jenkins:开发全链路的工具赋能指南》
  • 2025最新修复的豪门足球风云-修复验证问题-修复注册问题实现地注册-架设教程【豪门足球本地验证】
  • 【Linux笔记】网络部分——数据链路层mac-arp
  • 深圳网站设计公司专业吗外国网站分享代码
  • VB.Net 常用函数
  • 成都哪家做网站wordpress 主题课堂
  • 智慧随访管理系统源码,基于Java+Spring Boot+Vue的随访系统源码,支持二次开发,支持患者信息管理、多类型随访、三级回访机制、问卷模板
  • MQL5 自学路线图:从入门到实战
  • 告别 mysqldump 痛点!用 mydumper 实现 MySQL 高效备份与恢复
  • 【Java 并发编程】线程创建 6 种方式:Thread/Runnable/Callable 核心类全解析
  • Lombok.jar bug
  • 隐藏在字符编码中的陷阱:深入剖析宽字节注入
  • STM32外设学习--TIM定时器--编码器接口(程序)
  • iis 网站关闭陕西省住房和城乡建设厅
  • 【C++】多态与虚函数
  • 洛谷 P9847 [ICPC 2021 Nanjing R] Crystalfly
  • X光机AI系统实现轮胎缺陷识别准确率超97%
  • Depth Anything with Any Prior解读
  • Vue2 学习记录--语法部分
  • bluetoothctl命令