php实现身份证号码计算年龄

代码如下 复制代码

<?php 
function getAgeByID($id){ 
        
//过了这年的生日才算多了1周岁 
        if(empty($id)) return ‘‘; 
        $date=strtotime(substr($id,6,8));
//获得出生年月日的时间戳 
        $today=strtotime(‘today‘);
//获得今日的时间戳 111cn.net
        $diff=floor(($today-$date)/86400/365);
//得到两个日期相差的大体年数 
        
//strtotime加上这个年数后得到那日的时间戳后与今日的时间戳相比 
        $age=strtotime(substr($id,6,8).‘ +‘.$diff.‘years‘)>$today?($diff+1):$diff; 
  
        return $age; 
    } 
?>

拒绝不带连接转载:http://www.111cn.net/phper/php/57198.htm

时间: 2024-08-04 19:22:39

php实现身份证号码计算年龄的相关文章

JS根据身份证号码算年龄

如果把身份证号码传到页面上,在前端页面获取年龄就需要用到JS脚本了: function GetAge(identityCard) { var len = (identityCard + "").length; if (len == 0) { return 0; } else { if ((len != 15) && (len != 18))//身份证号码只能为15位或18位其它不合法 { return 0; } } var strBirthday = "&qu

SQL 根据身份证号码获取年龄的函数

在数据库的运用过程中,我们时常会碰到根据身份证号码来获取当前的年龄,今天我在这里写了一个函数,就是关于获取年龄的 create or replace function FUNC_COMPARE_SFZHM( sfzhm in varchar2) --输入身份证号码 return number /* 函数说明,返回值0为小于18岁:值为1是大于75岁:其他情况是返回值为2 在这个函数里用到了trunc(months_between()) 然后就是将身份证号码里的年月日组合成'yyyy-mm-dd'

IOS 根据身份证号码获取 年龄 生日 性别

/** 从身份证上获取年龄 18位身份证 */ -(NSString *)getIdentityCardAge:(NSString *)numberStr { NSDateFormatter *formatterTow = [[NSDateFormatter alloc]init]; [formatterTow setDateFormat:@"yyyy-MM-dd"]; NSDate *bsyDate = [formatterTow dateFromString:[self birth

测试身份证号码

http://shenfenzheng.293.net/ 公民身份证号码按照 GB11643-1999<公民身份证号码>国家标准编制,由18位数字组成:前6位为行政区划分代码,第7位至14位为出生日期码,第15位至17位为顺序码,第18位为校验码.在上世纪(二十世纪)办的身份证为15位数字码.原来7.8位的年份号到2000年后攺为全称,如1985年过去7.8位码是85,现在增改为1985,而又在最后一位增加校验码,如后三位原来601,加一个5成为6015.身份证一经编定不作改变,派出所会在户口

C#根据身份证号码,计算生日、年龄、性别

朋友谈及身份证相关的信息,才了解到原来省份证号码中包含了年龄和性别. 这样在数据库中,就不必单独留字段存放它们了(不过,要根据具体情况来,要是读取频率较高,还是单独列出为好),这样顺带解决了年龄变更的问题. 程序仅仅为了实现这个功能,里面还是需要数据验证的,用户输入的信息,毕竟在猿类看来,都是“非法的”.废话不多说了,贴上我写的程序,还请路过的大神斧正: using System; using System.Collections.Generic; using System.Linq; usin

JS根据身份证号码精确计算年龄和性别

1 /** 2 * 根据身份证号得到姓别和精确计算年龄 3 */ 4 function analyzeIDCard(IDCard){ 5 var sexAndAge = {}; 6 //获取用户身份证号码 7 var userCard = IDCard; 8 //如果身份证号码为undefind则返回空 9 if(!userCard){ 10 return sexAndAge; 11 } 12 //获取性别 13 if(parseInt(userCard.substr(16,1)) % 2 ==

在Excel中,已知身份证号码,如何批量计算其实际年龄?

昨天,上司问我:..,你会在Excel中计算年龄吗?当时,一下促住了.说真的,还真不会.今天研究了一下,写下来,方便日后查看. 首先,得有一张已知姓名和相应身份证号的原表吧. 在这张表上再加上三列:出生年份.现在年份.年龄 现在年份当然是2017啦,这个很好解决.那么出生年份呢?可以很清楚的知道,在身份证上,从第7位开始之后4位是出生年份,所以来第一个函数:=MID(B2,7,4) 可以得到: 下拉一下,所有的出身年份就都出来了 现在计算年龄,来一个很简单的公式:=D2-C2 enter后下拉一

js根据身份证计算年龄

/**根据身份证计算年龄 *@param UUserCard 身份证号码 */ function IdCard(UUserCard) { //获取年龄 var myDate = new Date(); var month = myDate.getMonth() + 1; var day = myDate.getDate(); var age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1; if (UUserCard.substri

java根据身份证计算年龄

/** * 根据身份证计算年龄 * * @param idcard * @return */ public static Integer idCardToAge(String idcard) { Integer selectYear = Integer.valueOf(idcard.substring(6, 10)); //出生的年份 Integer selectMonth = Integer.valueOf(idcard.substring(10, 12)); //出生的月份 Integer