首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Go】根据身份证(或生日计算年龄

实例说明我们计算用户的年龄,当然只能根据用户的出生年月日信息来计算。这里我们定义:用户出生满1年后,年龄算1岁,不满1年算0岁,以此类推,大于1年不到2年算1岁。...1)根据身份证信息得到用户出生年月日2)根据出生年月日计算用户当前年龄身份证规则18位身份证号码:18位的第二代身份证号码是特征组合码,由十七位数字本体码和一位校验码组成。...第一代身份证年份都是19开头的return fmt.Sprintf("19%s", cardId[6:12])} else {return cardId[6:14]}}// getAgeByBirthday 根据生日日期得到用户年龄...strconv.Atoi(birthday[0:4])month, _ := strconv.Atoi(birthday[4:6])day, _ := strconv.Atoi(birthday[6:])// 计算当前日期与生日中年月日都差值...,或者到了月份,但未到生日日期,年龄都要减1岁if moreMonth < 0 || (moreMonth == 0 && moreDay < 0) {age--}// 不要出现负值if age < 0

41831
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PQ-M及函数:怎么根据出生日计算年龄

    小勤:Power Query里有没有类似Excel里的Datedif函数可以用来计算年龄的啊? 大海:没有。唉…… 小勤:那怎么办呢? 大海:按照最原始的通过日期的方法来算咯,其实也不难。...小勤:那不是要先判断出生日期的月日是否比当前日期的月日大?感觉很麻烦。...小勤:啊,那就是可以转换好就直接比较了,那公式还是很长啊,如果“生日的月日大于等于当前日期月日”,那么“年份差减1”,否则“年份差”…… 大海:也不需要,月日比较的结果就是true或false,这是可以直接用...Number.From函数转为1或0的,所以,最后公式只要用年份差减去转换为数字的判断结果就好了: = Date.Year([当前日期]) - Date.Year([生日]) -Number.From...( Date.ToText([生日],"MMdd") >Date.ToText([当前日期],"MMdd") ) 如下图所示: 小勤:原来也没有自己想像中的复杂嘛。

    1.5K30

    不好意思,Power Query里根据出生日计算年龄有点儿繁琐!

    小勤:Power Query里有没有类似Excel里的Datedif函数可以用来计算年龄的啊? 大海:没有。唉…… 小勤:那怎么办呢? 大海:按照最原始的通过日期的方法来算咯,其实也不难。...小勤:那不是要先判断出生日期的月日是否比当前日期的月日大?感觉很麻烦。...小勤:啊,那就是可以转换好就直接比较了,那公式还是很长啊,如果“生日的月日大于等于当前日期月日”,那么“年份差减1”,否则“年份差”…… 大海:也不需要,月日比较的结果就是true或false,这是可以直接用...Number.From函数转为1或0的,所以,最后公式只要用年份差减去转换为数字的判断结果就好了: = Date.Year([当前日期]) - Date.Year([生日]) -Number.From...( Date.ToText([生日],"MMdd") >Date.ToText([当前日期],"MMdd") ) 如下图所示: 小勤:原来也没有自己想像中的复杂嘛。

    1.4K30

    在Python-dataframe中如何把出生日期转化为年龄

    作者:博观厚积 简书专栏:https://www.jianshu.com/u/2f376f777ef1 我们在做数据挖掘项目或大数据竞赛时,如果个体是人的时候,获得的数据中可能有出生日期的Series...实际上我们在分析时并不需要人的出生日期,而是需要年龄,不同的年龄阶段会有不同的状态,比如收入、健康、居住条件等等,且能够很好地把不同样本的差异性进行大范围的划分,而不是像出生日期那样包含信息量过大且在算法训练时不好作为有效数据进行训练...那如何把上述birth数据变为年龄age呢?...now_year-frame.birth.dt.yearframe 在这里使用了dt.datetime.today().year来获取当前日期的年份,然后将birth数据中的年份数据提取出来(frame.birth.dt.year),两者相减就得到需要的年龄数据

    1.9K20

    根据身份证号码自动生成出生日期、性别、年龄

    标签:Excel技巧 有时候,我们需要根据身份证号码来自动生成出生日期、性别和年龄,有多种方法来实现,下面介绍几种,供参考。 首先,我们来生成出生日期。...方法1:使用分列功能 选择要生成出生日期的身份证号码,单击功能区“数据”选项卡“数据工具”组中的“分列”。在弹出的“文本分列向导”对话框中,选择“固定宽度”,如下图1所示。...图1 单击“下一步”,在“数据预览”中,单击代表出生日期的数字两侧,添加分隔线,如下图2所示。...可见,在单元格D2中已经拆分出了出生日期。 图4 此时,我们可以删除列C和列E,仅保留出生日期列。...图7 提取出生日期后,年龄就好计算了,示例公式如下: =YEAR(TODAY())-YEAR(C2) 结果如下图8所示。

    69310

    PowerBI DAX 计算客户的平均交易年龄

    问题背景 在生意中,往往需要计算交易客户的平均年龄,但随着时间的推移,客户每年的年龄都在长大,因此,在计算中使用用户在交易时的年龄更加贴切,而不是客户的静态年龄。...静态平均年龄计算 如果客户的年龄已经由最新的年龄所标记了,这个年龄由 TODAY 和 BIRTHDAY 的 YEAR 共同决定。...那么,其平均年龄计算可以是: Customer.AverageAge.Dim = CALCULATE( AVERAGEX( SUMMARIZE( Customer , Customer...[Age] ) , TREATAS( VALUES( 'Order'[CustomerID] ) , Customer[CustomerID] ) ) 该算法从客户表中获取已经计算得到的年龄...动态平均年龄计算 如果考虑多年数据,那么在购买的时候用最新的用户年龄就不够合理,就需要考虑动态年龄,使用订单数据计算如下: Customer.AverageAge.Fact = CALCULATE(

    1.7K21

    Power BI 人力资源应用:动态计算年龄

    嗯,最大的90后即将30岁,最大的80后即将40岁…… 本文和年龄有那么一点关系。...假设我们想查看30岁以下员工数量,通常我们可能导出人力系统中的员工信息,然后新建一列,如下计算: 但这有一个问题,此处的年龄是静态的截止到现在的年龄,如果我们想动态查看不同年份的30岁以下员工数量,例如如下...: 请注意这个动画中的两个信息,首先每个人的年龄会随着年份的变化而自动变化。...其实在Power BI中实现该功能只要将年龄从列转换为度量值即可。...然后新建年龄度量值(不是计算列): 年龄 = MAX('日期表'[年])-MAX('员工信息'[出生年份]) 接着使用度量值计算30岁以下员工数量: 30岁以下员工数量 = CALCULATE ( [员工数量

    2.4K20
    领券