`
leeyb
  • 浏览: 28863 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Java 根据yyyyMMdd 计算 年龄

阅读更多
private static int calcAge(String birthday) {
		int iage = 0;

		if (birthday != "" || birthday != null) {
			int year = Integer.parseInt(birthday.substring(0, 4));
			int month = Integer.parseInt(birthday.substring(4, 6));
			int day = Integer.parseInt(birthday.substring(6, 8));

			Calendar birthDate = new GregorianCalendar(year, month, day);
			Calendar today = Calendar.getInstance();

			if (today.get(Calendar.YEAR) > birthDate.get(Calendar.YEAR)) {
				iage = today.get(Calendar.YEAR) - birthDate.get(Calendar.YEAR)
						- 1;
				if (today.get(Calendar.MONTH) + 1 > birthDate
						.get(Calendar.MONTH)) {
					iage++;
				} else if (today.get(Calendar.MONTH) + 1 == birthDate
						.get(Calendar.MONTH)) {
					if (today.get(Calendar.DAY_OF_MONTH) > birthDate
							.get(Calendar.DAY_OF_MONTH)) {
						iage++;
					}
				}
			}
			return iage;
		}
		return 0;
	}

  

  PS:这里,today.get(Calendar.MONTH) + 1的原因是发现当前换算出的日历的月份比实际小一月。

分享到:
评论

相关推荐

    计算身份证年龄包括年月日

    在许多应用场景中,我们可能需要根据身份证号码来计算某人的年龄。身份证号码通常包含出生日期信息,通过解析这些信息并与当前日期进行比较,可以计算出一个人的年龄。 #### 1.2 身份证号码结构 在中国,身份证号码...

    c#根据身份证计算性别 年龄

    根据给定的信息,我们可以深入探讨如何使用C#语言来解析身份证号码并从中提取性别与年龄信息。身份证号码在中国通常有两种格式:15位和18位。18位的身份证号码包含了更多的信息,并且是中国目前使用的标准格式。下面...

    C#根据身份证号码计算年龄和性别

    在C#编程中,处理身份证号码来获取个人的年龄和性别是一项常见的任务。...通过以上步骤,我们可以在C#中有效地根据身份证号码计算出一个人的年龄和性别。在开发过程中,了解这些基础知识对于处理相关业务逻辑至关重要。

    JAVA版身份证获取性别、出生日期及年龄

    本文将深入探讨如何从身份证号码中提取性别、出生日期以及计算年龄,这些都是开发中不可或缺的基础知识。 首先,中国的身份证号码由18位数字组成,其中包含了丰富的个人信息。前6位代表地区代码,第7位到第14位是...

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

    根据身份证号码获取生日、年龄与性别的方法是IT领域中数据处理和身份验证的一个常见应用场景。身份证号码(在中国大陆)通常包含丰富的个人信息,包括出生日期和性别等关键数据。以下是对这一过程的详细解析,旨在...

    计算年龄、出生日期公式.doc

    在Excel中,计算年龄和处理出生日期的公式是常见的任务,尤其在教育环境中,例如中小学的资料管理和课程设计。文档“计算年龄、出生日期公式.doc”显然提供了这方面的指导。以下是一些关于如何使用Excel计算年龄和...

    jeDate-YYYYMMDD形式.rar

    标题“jeDate-YYYYMMDD形式.rar”指出这是一个与日期选择器相关的压缩包,其中包含的资源用于实现特定格式的日期输入,即“YYYYMMDD”格式。这种格式是国际通用的一种日期表示方法,其中“YYYY”代表四位年份,“MM...

    JAVA验证身份证号码校验码是否正确.zip

    总结来说,Java验证身份证号码校验码是否正确的关键是理解身份证号码的构成规则和校验码的计算方法,然后编写相应的代码进行逻辑判断。通过上述方法,我们可以在Java程序中实现对身份证号码的准确验证,确保处理个人...

    js时间比较(yyyymmdd)

    在实际开发中,根据项目需求和场景,可以选择合适的方式来处理和比较日期。例如,如果你的日期字符串总是"yyyymmdd"格式,那么直接使用`localeCompare`可能是最简单的。如果需要处理多种日期格式,或者需要更精确的...

    java 时间转换工具

    1.支持java.sql.Date 与 java.util.Date互转 2.支持java.util.Calendar,java.util.Date,java.sql.Date格式化输出 3.支持字符串转java.util.Date 支持字符串格式: yyyyMMdd yyyyMMddHH yyyyMMddHHmm ...

    java将数字转换为时间格式

    根据提供的代码片段,我们可以看到一个名为`getStringToDate`的静态同步方法,该方法接受两个参数:`String date`和`String type`,并返回一个`java.util.Date`对象。方法的主要功能是将输入的字符串形式的日期转换...

    JAVA生成订单号(日期+流水号)

    在Java编程中,生成订单号是一项常见的任务,特别是在电商或者交易系统中,每个订单都需要一个唯一的标识符。本文将详细讲解如何使用Java按照日期加流水号的...在实际开发中,务必根据业务需求进行适当的调整和优化。

    java代码验证日期格式正则表达式(包含闰年验证)带注释

    * "yyyyMM","yyyyMMdd","yyyyMMdd HH:mm:ss", * "yyyy-MM","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss" * "yyyy.MM","yyyy.MM.dd","yyyy.MM.dd HH:mm:ss" * "yyyy/MM","yyyy/MM/dd","yyyy/MM/dd HH:mm:ss" * "yyyy_MM...

    java身份证号验证源代码

    3. **校验码计算**:根据前17位数字,按照特定算法计算出校验码。这个算法涉及到每个位置上的数字乘以特定权重后求和,再对11取模,得到的结果与10进行比较,最后根据比较结果确定校验码。 ```java public char ...

    Excel表格中根据身份证号码自动填出生日期计算年龄(精)2.pdf

    在Excel表格中,根据身份证号码自动填充出生日期和计算年龄是一项常见的数据处理任务。以下是相关的知识点和步骤: 1. **身份证号码与出生日期的关系**: - 中国公民的身份证号码由18位组成,其中第7位到第14位...

    java 阳历转换农历

    在Java编程语言中,实现阳历(公历)与农历之间的转换是一项实用的功能,特别是在需要根据农历日期进行计算或处理特定中国文化节日的应用场景中。下面将详细介绍如何通过一个Java类来实现阳历到农历的转换。 #### ...

    Java 获取日期时间代码

    SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd hh:mm:ss"); String time = f.format(today); System.out.println(time); } } ``` 输出结果类似于:“20070312 05:42:08”。这种方式可以根据需要自定义...

    C#实现计算年龄的简单方法汇总

    然后,根据计算出的总月数来确定完整的年数和月数,最后计算出天数。 第二种方法更为简洁,定义了一个名为`CalculateAgeCorrect`的静态方法。这个方法同样接受出生日期和当前日期作为参数,通过比较出生日期的月份...

    java 身份证验证程序

    实际的身份证号码校验码计算过程包括将前17位数字乘以对应的系数,求和后模11得到余数,根据余数值查找对应的校验码。如果余数为10,则校验码为X。 在实际项目中,你可以将此功能封装成一个类或方法,提供更丰富的...

Global site tag (gtag.js) - Google Analytics