根据身份证号计算周岁年龄
1、测试
import pandas as pd
import datetime
temp_data='110221195404083625'
v_start_date=temp_data[6:14]
now = datetime.datetime.now()
now = now.strftime('%Y%m%d')
v_year_end=datetime.datetime.strptime(now, '%Y%m%d').year
v_month_end=datetime.datetime.strptime(now, '%Y%m%d').month
v_day_end=datetime.datetime.strptime(now, '%Y%m%d').day
v_year_start=datetime.datetime.strptime(v_start_date, '%Y%m%d').year
v_month_start=datetime.datetime.strptime(v_start_date, '%Y%m%d').month
v_day_start=datetime.datetime.strptime(v_start_date, '%Y%m%d').day#1、若今天的月大于生日的月,年龄=今年的年-生日的年
if v_month_end>v_month_start:age=v_year_end-v_year_start
#2、若今天的月小于生日的月,年龄=今年的年-生日的年-1
elif v_month_end<v_month_start:age=v_year_end-v_year_start-1
#3、若今天的月等于生日的月:
else:
# 若今天的日小于生日的日,年龄=今年的年-生日的年-1if v_day_end<v_day_start:age=v_year_end-v_year_start-1
# 若今天的日大于等于生日的日,年龄=今年的年-生日的年else:age=v_year_end-v_year_start
2、封装
def calculate_age(temp_data):'''Function: 根据身份证计算周岁年龄Parameters: temp_data为身份证号Return: 该身份证号周岁年龄计算逻辑:若今天计算周岁有以下几个特征:1、若今天的月大于生日的月,年龄=今年的年-生日的年2、若今天的月小于生日的月,年龄=今年的年-生日的年-13、若今天的月等于生日的月:若今天的日小于生日的日,年龄=今年的年-生日的年-1若今天的日大于等于生日的日,年龄=今年的年-生日的年 '''v_start_date=temp_data[6:14]now = datetime.datetime.now()now = now.strftime('%Y%m%d')v_year_end=datetime.datetime.strptime(now, '%Y%m%d').yearv_month_end=datetime.datetime.strptime(now, '%Y%m%d').monthv_day_end=datetime.datetime.strptime(now, '%Y%m%d').dayv_year_start=datetime.datetime.strptime(v_start_date, '%Y%m%d').yearv_month_start=datetime.datetime.strptime(v_start_date, '%Y%m%d').monthv_day_start=datetime.datetime.strptime(v_start_date, '%Y%m%d').day#1、若今天的月大于生日的月,年龄=今年的年-生日的年if v_month_end>v_month_start:age=v_year_end-v_year_start#2、若今天的月小于生日的月,年龄=今年的年-生日的年-1elif v_month_end<v_month_start:age=v_year_end-v_year_start-1#3、若今天的月等于生日的月:else:# 若今天的日小于生日的日,年龄=今年的年-生日的年-1if v_day_end<v_day_start:age=v_year_end-v_year_start-1# 若今天的日大于等于生日的日,年龄=今年的年-生日的年else:age=v_year_end-v_year_startreturn age
3、调用
col_name='身份证号'
data=pd.DataFrame({col_name:['110221195404083625','110221195104073628','110109196404090678','110109195706010923','110109195501031210']})
data['age']=data[col_name].apply(lambda x:calculate_age(x))
根据身份证号计算周岁年龄相关推荐
- Java 根据身份证号计算周岁年龄 工具类
package com.yao.utils; import java.util.Calendar; /** * 根据身份证号计算周岁年龄 * @author yaodd * @date 2021 ...
- java通过身份证号计算周岁年龄(附js计算)
最近项目上有一个需要根据身份证获取老人周岁的功能,本以为当前年直接减去身份证的出生年就好了.结果测试提了过了生日就是+1岁,没过生日才是正确的.于是呼,哗哗的改代码.下面分别贴出java计算和js计算 ...
- java根据身份证号计算持有者年龄--超容易
主要思路很简单: 1.通过当前年份和用户出生年份相减计算出age :用户当年还没过生的话,age要减一. 2.在身份证截取根据"月日"拼接成开头可以为0的四位数int值.根据当前月 ...
- PHP根据身份证号计算年龄和年龄分段
PHP根据身份证号计算年龄和年龄分段 /*** @param $id 身份证号* @return string* 根据身份证号判断年龄和年龄分段*/public function getAgeByID ...
- sql server 根据身份证号计算出生日期和年龄的存储过程
我这边有一个业务,需要客户填写身份证号,自动计算他的出生日期和年龄 在sql中,具体的存储过程实现是这样的: /******************************************** ...
- js中如何通过身份证号计算出生日期和年龄
在html中有如下标签 身份证号:<input type="text" id="Gra_IDCard" onChange="IDCardChan ...
- 在JS中根据身份证号计算出生日期和年龄
1.根据身份证号计算出生日期 var identificationCardid=document.getElementById("identificationCardid").va ...
- EXCEL表格-根据身份证号计算性别、年龄(IF、MOD函数)
❤关注我,不迷路❤ 点击进入EXCEL综合应用场景专栏 本篇文章将介绍如何根据身份证号来计算出年龄.性别,先来讲解一些基础知识: 身份证号共18位,其中: (1)前1.2位数字表示:所在省份的代码: ...
- 根据身份证号计算年龄
根据身份证号计算年龄 /// <summary> /// 计算年龄 /// </summary> /// <param name=&quo ...
- Python根据身份证号计算年龄和退休时间并保存Excel文件
封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情: 用书教师可以联系董老师获取教学大纲.课件.源码.教案.考试系统等配 ...
最新文章
- ERROR: Manifest merger failed : uses-sdk:minSdkVersion 24 cannot be smaller than version 27 declared
- OpenCV3.3中支持向量机(Support Vector Machines, SVM)实现简介及使用
- 【2021斯坦福新书】统计学思维,300页pdf
- Android Jetpack组件之ViewModel使用
- 用MySQL创建“江湖”数据库
- [网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster原理详解
- C ++或Java,高频交易哪个更快?
- 假如你心中有个莎乐美
- ElasticSearch-6.3.2 linux 安装
- 对垒 AI 领域?Google 和苹果竞相收购初创公司
- 洛谷——P1146 硬币翻转
- (大数据工程师学习路径)第三步 Git Community Book----基本用法(下)
- docker使用阿里云仓库上传与下拉images
- 使用VC做一个简单的UI界面对话框
- scheme 微博_可用App URL Schemes
- 硕士论文查重原理与快速通过的七大方法(转载)
- 2021牛客寒假算法基础集训营1(A B C D E F H I J)
- 【翻译】代码指针完整性——Code Pointer Integrity
- 北理工大学计算机专硕学硕,计算机2年制专硕越来越少,生活终于对我下手了吗?...
- 一文深度剖析ConcurrentHashMap