python 根据生日计算年龄 sqlalchemy根据身份证号计算生日 性别
import datetime def calculate_age(birth_s=''):
birth_d = datetime.datetime.strptime(birth_s, "%Y%m%d")
today_d = datetime.datetime.now()
birth_t = birth_d.replace(year=today_d.year)
if today_d > birth_t:
age = today_d.year - birth_d.year
else:
age = today_d.year - birth_d.year - 1 print('出生日期:%s' % birth_d)
print('今年生日:%s' % birth_t)
print('今天日期:%s' % today_d)
print('如果今天日期大于今年生日,今年-出生年=年龄')
print('如果今天日期不大于今年生日,今年-出生年-1=年龄')
print('年龄:%s' % age)
return age if __name__ == '__main__':
print(calculate_age(''))
放入sqlalchemy模型定义中,id_Num是身份证号,其中6-14位是出生日期。
@property
def age(self):
if len(self.id_Num) > 14:
birth_s = self.id_Num[6:14]
birth_d = datetime.datetime.strptime(birth_s, "%Y%m%d")
today_d = datetime.datetime.now()
birth_t = birth_d.replace(year=today_d.year)
if today_d > birth_t:
age = today_d.year - birth_d.year
else:
age = today_d.year - birth_d.year - 1
else:
age = 0
return age
引申一下,有身份证以后,性别也可以计算出来
@property
def gender(self):
if len(self.IdNum) > 17:
tag = self.IdNum[16:17]
if (int(tag) % 2) == 0:
result = '女'
else:
result = '男'
else:
result = '未知'
return result
加一个excel算性别
=IF(MOD(MID(D4,17,1),2),"男","女")
python 根据生日计算年龄 sqlalchemy根据身份证号计算生日 性别的更多相关文章
- js中如何通过身份证号计算出生日期和年龄
在html中有如下标签 身份证号:<input type="text" id="Gra_IDCard" onChange="IDCardChan ...
- sql server 根据身份证号计算出生日期和年龄的存储过程
我这边有一个业务,需要客户填写身份证号,自动计算他的出生日期和年龄 在sql中,具体的存储过程实现是这样的: /******************************************** ...
- 教你一招:根据身份证号计算出生年月和年龄 text函数和mid函数混用 datedif函数和today函数混用
在电子表格Excel中,使用text函数和mid函数混用,根据身份证号计算出生年月: =text(mid(A2,,),"0!/00!/00") #0!/00!/00 为日期的格式# ...
- SQL语句通过身份证号计算年龄
SQL语句通过身份证号计算年龄 1.截取身份证号上的出生日期 身份证一般为18位数和15位数 18位数身份证的第7-10位数是出生年份,第11-14位数是出生月日,所以18位身份证的年龄计算如下 su ...
- oracle 根据身份证号计算出生日期
1.情景展示 如何根据身份证号推算出出生日期? 2.解决方案 --根据身份证号计算出生日期 SELECT DECODE(LENGTH(ID_CARD), 18, SUBSTR(ID_CARD, 7 ...
- 从身份证号提取生日并更新到生日字段中的SQL语句
1:根据身份证号 更新 生日字段 SQL update 学生信息 ,)+,)+,) 2:根据身份证号 更新 性别字段 SQL update 学生信息 set 性别='男' and substring( ...
- sqlalchemy 模型中添加根据身份证号计算性别和年龄
class Users(Base, BaseMixin): username = Column(String(24)) id_Num = Column(String(18) ) # 身份证号码 @pr ...
- EXCEL计算根据当前时间和身份证号计算准确年龄
假设身份证号在A2单元格 =IF(MONTH(NOW())<MONTH(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2))),INT(YEAR(NOW())- ...
- JS通过身份证号获取生日、年龄、性别
<script> function IdCard(UUserCard,num){ if(num==1){ //获取出生日期 birth=UUserCard.substring(6, 10) ...
随机推荐
- 项目Alpha冲刺随笔集合
班级:软件工程1916|W 作业:项目Alpha冲刺 团队名称:SkyReach 目标:完成项目Alpha版本 项目Github地址 评审表 团队博客汇总 队员学号 队员姓名 个人博客地址 备注 22 ...
- python应用-解决应用题
应用题: 30个人出海去玩,船瓦特了,要弄死15个人,其他人才能活下来,围成一圈,报数1,2,3...,谁报到9就弄死谁,以此类推. 直到剩下15个人为止.其中15个人是基督徒,其他15个不是基 ...
- 1.使用FluentNHibemate 操作数据库,添加映射到数据库
1.创建个控制台工程MySQLDateBase 2.工程中添加Fluent NHibernate映射工具 点击管理NuGet程序包,点击浏览,搜索Fluent NHibernate 点击安装..安装完 ...
- A Funny Game——打表&&找规律
题目 n枚硬币排成一个圈.Alice和Bob轮流从中取一枚或两枚硬币.不过,取两枚时,所取的两枚硬币必须是连续的.硬币取走之后留下空格,相隔空格的硬币视为不连续.Alice开始先取,取走最后一枚硬币的 ...
- [React] Write a generic React Suspense Resource factory
Using Suspense within our component isn't exactly ergonomic. Let's put all that logic into a reusabl ...
- LeetCode 286. Walls and Gates
原题链接在这里:https://leetcode.com/problems/walls-and-gates/ 题目: You are given a m x n 2D grid initialized ...
- Python 10 训练模型
原文:https://www.cnblogs.com/denny402/p/7520063.html 原文:https://www.jianshu.com/p/84f72791806f 原文:http ...
- 解决mysql无法显示中文/MySQL中文乱码问号等问题
一般都是编码格式问题 显示编码格式: show variables like'character_set_%'; 将其中Value不是utf8的改为utf8: set character_set_cl ...
- java8 新特性parallelStream 修改默认多线程数量
parallelStream默认使用了fork-join框架,其默认线程数是CPU核心数. 通过测试实践,发现有两种方法来修改默认的多线程数量: 1.全局设置 在运行代码之前,加入如下代码: Syst ...
- javaweb利用filter拦截未授权请求
项目上有个小需求,要限制访问者的IP,屏蔽未授权的请求.该场景使用过滤器来做再合适不过了. SecurityFilter.java: public class SecurityFilter imple ...