Java 根据年月日精确计算年龄

2018-09-13

[java] view plain copy

package com.jglz.qing.age;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

/**

* Created by qing on 2017/3/28.

*/

public class AgeUtils {

// 根据年月日计算年龄,birthTimeString:"1994-11-14"

public static int getAgeFromBirthTime(String birthTimeString) {

// 先截取到字符串中的年、月、日

String strs[] = birthTimeString.trim().split("-");

int selectYear = Integer.parseInt(strs[0]);

int selectMonth = Integer.parseInt(strs[1]);

int selectDay = Integer.parseInt(strs[2]);

// 得到当前时间的年、月、日

Calendar cal = Calendar.getInstance();

int yearNow = cal.get(Calendar.YEAR);

int monthNow = cal.get(Calendar.MONTH) + 1;

int dayNow = cal.get(Calendar.DATE);

// 用当前年月日减去生日年月日

int yearMinus = yearNow - selectYear;

int monthMinus = monthNow - selectMonth;

int dayMinus = dayNow - selectDay;

int age = yearMinus;// 先大致赋值

if (yearMinus

age = 0;

} else if (yearMinus == 0) {// 同年的,要么为1,要么为0

if (monthMinus

age = 0;

} else if (monthMinus == 0) {// 同月份的

if (dayMinus

age = 0;

} else if (dayMinus >= 0) {

age = 1;

}

} else if (monthMinus > 0) {

age = 1;

}

} else if (yearMinus > 0) {

if (monthMinus 生日月

} else if (monthMinus == 0) {// 同月份的,再根据日期计算年龄

if (dayMinus

} else if (dayMinus >= 0) {

age = age + 1;

}

} else if (monthMinus > 0) {

age = age + 1;

}

}

return age;

}

// 根据时间戳计算年龄

public static int getAgeFromBirthTime(long birthTimeLong) {

Date date = new Date(birthTimeLong * 1000l);

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

String birthTimeString = format.format(date);

return getAgeFromBirthTime(birthTimeString);

}

}

[java] view plain copy

package com.jglz.qing.age;

public class AgeTest {

public static void main(String[] args) {

String dataOfBirth = "2016-3-28";

int age = AgeUtils.getAgeFromBirthTime(dataOfBirth);

System.out.println("age:" + age);

}

}

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。

http://www.pinlue.com/style/images/nopic.gif

java date 年龄_Java 根据年月日精确计算年龄相关推荐

  1. java计算年龄_java根据出生年月日精确计算年龄的算法

    今天项目中有个根据出生年月日,需要精确计算年龄的算法,找了半天才算有个正确的,分享出来给牛牛们成为自己java代码库的一部分算法.public static int getAge(Date dateO ...

  2. Oracle中使用SQL根据出生日期精确计算年龄

    Oracle中使用SQL根据出生日期精确计算年龄 提示:以下是本篇文章正文内容,下面案例可供参考 代码如下(示例): select XM,CSNY as 出生日期,-- extract函数用于提取日期 ...

  3. 根据出生日期计算年龄或者根据身份证号计算年龄

    可以把这个方法写成一个工具类方便以后在项目中调用,以下是写好的方法可以直接拿去用 注:(此方法计算的是虚岁年龄不是实岁年龄) //根据身份证号计算年龄 //身份证号 //String certNo = ...

  4. java根据生日精确计算年龄_java根据出生日期计算年龄(精确到天)

    @根据出生日期计算年龄(精确到天) 代码块 public class CountAgeUtil { public static String countAge(String from){ String ...

  5. java这一年第几天_java 输入年月日,计算该日是这一年的第几天

    1.输入年月日,计算该日是这一年的第几天importjava.util.Scanner;publicclassshiyan2{publicstaticvoidmain(String[]args){in ...

  6. java 小数精确_Java中小数精确计算

    小数精确计算 System.out.println(2.00 -1.10);//0.8999999999999999 上面的计算出的结果不是 0.9,而是一连串的小数.问题在于1.1这个数字不能被精确 ...

  7. Excel如何提取身份证中出生年月日、计算年龄、性别

    身份证号是18位,前6位是所属省市区.7至14位是出生年月日.其中第17位表示性别,奇数为男性,偶数女性 身份证号 340204198107181456 340204199504172986 3426 ...

  8. Java中使用BigDecimal进行浮点数精确计算 超大整数 浮点数等计算,没有数位限制...

    (注:前面写了一个超大整数相加的类,参见: 超大整数相加,超过了long的范围,你要怎么做!,后来有朋友评论说BigDecimal可以完全实现我的这这个功能,刚开始的时候,我还不服气,据我所知那里有这 ...

  9. localdate计算相差天数_还在苦恼MySQL如何根据日期精确计算年龄?看这一篇,就够了

    转译自 How To Calculate Age From Date Of Birth In MySQL- Querychat. 中文转载,请注明出处. 使用SQL语句计算年龄,在事务处理和日期计算中 ...

  10. Java中使用BigDecimal进行浮点数精确计算 超大整数 浮点数等计算 没有数位限制

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! (注:前 ...

最新文章

  1. 《虚拟化工程师》-真实环境-培训计划 v0.0.1( 赠送:第 01\02 章 (免费视频))...
  2. ThreadGroup其实比ExecutorService更好
  3. 架构师速成7.2-为什么要学习协议、规范
  4. 在TABLE CONTROL 输入完一行记录,按回车的时候光标自动移动到下一行
  5. esd管 低cj要求_TVS管与ESD保护二极管的区别,联系以及应用
  6. 每个人都知道MVC…
  7. 一个使用Logging Application Block的小问题[xgluxv]
  8. CSS3图片跳动效果
  9. 用doss进入mysql_一键连接给你省了多少事_DOSS 听吧_音频评测-中关村在线
  10. matlab 展开多项式,matlab中freqz的用法以及多项式的展开
  11. excel计算机快捷键大全,Excel使用教程 Excel表格快捷键与功能键大全
  12. ERP的主要功能模块简介
  13. java房屋出租预约看房系统springboot ssm带房东租客
  14. 什么是 NLP (自然语言处理)
  15. vue实现中英文网站配置
  16. mac 开启android 模拟器,Mac下安卓模拟器环境配置
  17. 最小二乘法直线拟合、圆拟合
  18. selenium源码通读·5 |webdriver/common/action_chains.py-ActionChains类
  19. 如何在Arch Linux搭建高效便捷的平铺式桌面
  20. VBA批量OCR识别提取身份证照片信息_手机扫描仪:直装就是VIP,不限次数,一秒钟就能提取图片中的文字...

热门文章

  1. Beta周王者荣耀交流协会第三次Scrum会议
  2. 计算机中的right函数,right函数用法实例
  3. 贪婪的大脑:为何人类会无止境地寻求意义 目录
  4. Android开发之方向传感器的使用
  5. 关于keras-yolov3-deepsort
  6. 01炼数成金TensorFlow基本概念
  7. 28岁华为员工工资表曝光,牛逼的人注定会牛逼
  8. 软件测试实验-决策表
  9. MySql 报错1548
  10. 在命令行使用 Pandoc 进行文件转换