如何用身份证号码算出年龄???

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用身份证号码算出年龄???相关的知识,希望对你有一定的参考价值。

根据出生日期计算年龄的公式是:DATAIF函数。输入公式=DATEIF(C2,TODAY(),"Y")即可。

公式说明DATEIF有3个参数,第一个参数是开始日期,第二个参数是终止日期,第三个参数是比较单位。注意这里“yyyymmdd”这种格式的出生日期不适用这个公式。

第二种方法:TODAY函数。输入公式=(TODAY()-E2)/365即可,如果小数点后面有小数,更改一下数据格式,只保留整数。

公式说明:这个公式比较简单,TODAY()函数得出来的是现在的具体日期,减去出生的具体日期,就是具体的天数,一年有365天,再除以365就可以计算出多少年,即年龄。注意“yyyymmdd”这种格式的出生日期同样也不适用这个公式。

身份证号计算年龄的方法是:

1.要计算年龄,需要用当前的年份减去身份证上的出生年份。我们可以用YEAR函数来取得当前的年份=YEAR(NOW())。

2.18位身份证号从第7位开始的8位数字代表出生日期。出生的年份是从第7位开始的4位数字,用MID函数将出生年份提取出来。

3.将上述两个部分合并,就得到了单元格的最终公式:=YEAR(NOW())-MID(A2,7,4)。

参考技术A 从身份证号码的第七位开始的八位数就是对方的出生年月日,知道出生年月日了就可以算出年龄了。 参考技术B 身份证号显示出生日期,算到今年,还能不知道年龄吗?

sql中,根据身份证号码截取出了出生日期,怎么获取当前年龄,精确到月、日?

具体代码就不写了

思路如下

    身份证18位 从多少位是年月日来着?大概是第7--15是年月日 substring()方法

    获取当前年与日

    两个日期转化为毫秒相减,相减后的毫秒转化为天数
    给个小例子

    public static void main(String[] args) 
    Calendar nowDate=Calendar.getInstance(),oldDate=Calendar.getInstance();
    nowDate.setTime(new Date());//设置为当前系统时间 
    oldDate.set(1990, 5, 19);//设置为1990年(6)月29日
    long timeNow=nowDate.getTimeInMillis();
    long timeOld=oldDate.getTimeInMillis();
    long 相隔天数=(timeNow-timeOld)/(1000*60*60*24);//化为天
    System.out.println("相隔"+相隔天数+"天");

追问

select cast(substring(IdentityCard,7,8) as datetime) from checkwork_person
我这样取出了出生日期,
怎样判断月、日是否超过当前日期的月、日,如果没有超过,年龄不增加一岁,超过了才增加一岁,求sql语句

追答

这个追求的有点精确了,大致算了我们按照年份即可。比如你是88年12月的 我们算到今年13年1月就算等于13年12月
精确算也是那样 取出月日 然后与当前月日比较啊,小于当前就是没到,大于当前就是过了

参考技术A 了解到身份证编号的规则,其中8位表示出生年份以及月日,然后与当前系统时间进行日期比较。
利用sql自带的日期函数,就可以了。相信你肯定很快就能搞定的。
参考技术B 18位身份证 前6位是区号地区第7~14位就是出生年月日 XXXX年XX月XX日
SQL是什么
参考技术C 身份证号上有啊

以上是关于如何用身份证号码算出年龄???的主要内容,如果未能解决你的问题,请参考以下文章

用身份证号码怎么计算年龄?

如何用身份证在Excel中自动提取姓名性别出生日期年龄

如何用jQuery实现输入身份证号码后,出生日期自动生成

如何用身份证计算出年龄?

用Java从任意给定的身份证号码中提取此人的出生日期

sql中,根据身份证号码截取出了出生日期,怎么获取当前年龄,精确到月、日?