【根据生日获取年龄】

/**
* 根据生日获取年龄
* @param birthday
* @return
* @throws Exception
*/
private static int getAgeByBirth(Date birthday) throws Exception {
int age = 0;
try {
Calendar now = Calendar.getInstance();
now.setTime(new Date());// 当前时间
Calendar birth = Calendar.getInstance();
birth.setTime(birthday);
if (birth.after(now)) {//如果传入的时间,在当前时间的后面,返回0岁
age = 0;
} else {
age = now.get(Calendar.YEAR) - birth.get(Calendar.YEAR);
if (now.get(Calendar.DAY_OF_YEAR) > birth.get(Calendar.DAY_OF_YEAR)) {
age += 1;
}
}
return age;
} catch (Exception e) {//兼容性更强,异常后返回数据
return 0;
}
}

原文地址:https://www.cnblogs.com/duanqiao123/p/8315321.html

时间: 2024-10-11 15:55:49

【根据生日获取年龄】的相关文章

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

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

根据生日计算年龄

/*      * 根据生日计算年龄     */    public int age(String birthDate) {        SimpleDateFormat dft=new SimpleDateFormat("yyyy-MM-dd");        Date time = null;        //类型转换        try {            time=dft.parse(birthDate);        } catch (ParseExcept

【pandas】生日转年龄

数据挖掘比赛中,获得的数据中可能有个人的生日,在数据分析中并不需要生日,而是需要年龄.不同年龄会呈现不同的状态,比如收入.健康.居住条件等,年龄能够很好的把不同样本的差异性进行大范围的划分.下面讲述如果将生日转年龄: # -*- coding: utf-8 -*- # 生成数据 import pandas as pd data = {'birth':['2011/12/01','2012/12/02','2012/12/03','2012/12/04','2012/12/05']} frame

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

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

SPSS根据生日计算年龄并分组

COMPUTE Age=DATEDIFF($TIME,BirthDate,"years"). EXECUTE. SAVE OUTFILE='D:\MaryKay\Data\PRD\ConsultantInfoPrd.sav' /COMPRESSED. SAVE OUTFILE='D:\MaryKay\Data\PRD\ConsultantInfoPrd.sav' /COMPRESSED. STRING AgeGroup1 (A8). RECODE Age (19 thru 24='19

java 根据生日计算年龄

根据生日计算年龄可以通过Calendar实现.最简单可以考虑get(Calendar.DAY_OF_YEAR)来简单修正年龄,但是遇到生日在闰年的2月29之后,或者今年是闰年的2月29之后可能出现计算不准,误差一天.所以还是老实判断年月日好了. // 根据生日计算年龄,判断了年月日,比简单的年份上计算更精准 public static int getAge(Date birthDay) throws Exception {         Calendar cal = Calendar.getI

实例365(3)---------DateDiff 函数,用生日获得年龄

一:截图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Microsoft.VisualBasic; namespace GetAge { public p

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

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

Java 身份证判断性别获取年龄

import com.alibaba.fastjson.JSON; import org.junit.Test; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * @author ceshi * @Title: CardJunitTest * @ProjectName CardJunitTest * @Description