package com.web.backend.util;

import java.util.Calendar;
import java.util.Date; /**
* @Author: SongZS
* @Description: 通过生日获取年龄计算工具
* @Date: Created in 18:23 2018/8/16
* @Modified By:
*/
public class GetAgeByBirthdayUtil {

public static int getAgeByBirthday(Date birthday) {
int age = 0;
try {
Calendar calendar= Calendar.getInstance();
calendar.setTime(new Date()); Calendar birthday = Calendar.getInstance();
birthday.setTime(birthday); if (birthday.after(calendar)) {
age = 0;
} else {
age = calendar.get(Calendar.YEAR) - birthday.get(Calendar.YEAR);
if (calendar.get(Calendar.DAY_OF_YEAR) > birthday.get(Calendar.DAY_OF_YEAR)) {
age += 1;
}
}
return age;
} catch (Exception e) {
e.printStackTrace();
return 0;
}
}
}

  使用

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date bithday = format.parse("Birthday");
int age = GetAgeByBirthUtil.getAgeByBirthday(bithday);
System.out.println(age);

  

Java生日计算年龄工具的更多相关文章

  1. java 根据生日计算年龄 Java问题通用解决代码

    根据生日计算年龄可以通过Calendar实现.最简单可以考虑get(Calendar.DAY_OF_YEAR)来简单修正年龄,但是遇到生日在闰年的2月29之后,或者今年是闰年的2月29之后可能出现计算 ...

  2. 【转载】Sqlserver根据生日计算年龄

    在Sqlserver中,可以根据存储的出生年月字段计算出该用户的当前年龄信息,主要使用到DateDiff函数来实现.DateDiff函数的格式为DATEDIFF(datepart,startdate, ...

  3. 问题:oracle 计算年龄;结果:oracle中根据生日计算年龄的问题

    SELECT FLOOR(MONTHS_BETWEEN(SYSDATE,birthday)/12,1) FROM ltteacherinfo where name='朱雪东111'这个报错ORA 00 ...

  4. java身份证计算年龄

    技术交流群: 233513714 /** * 根据身份证计算年龄 * * @param idcard * @return */ public static Integer idCardToAge(St ...

  5. C#计算两个时间年份月份天数(根据生日计算年龄)差,求时间间隔

    C#计算两个时间年份月份差 DateTime dt1 = Convert.ToDateTime("2008-8-8"); DateTime dt2 = System.DateTim ...

  6. python 根据生日计算年龄 sqlalchemy根据身份证号计算生日 性别

    import datetime '): birth_d = datetime.datetime.strptime(birth_s, "%Y%m%d") today_d = date ...

  7. mysql 根据生日计算年龄,并查询在18-25之间的语句

    select id, DATE_FORMAT(birthday,"%Y-%m-%d") birthday, CURDATE() , (year(now())-year(birthd ...

  8. vue中根据生日计算年龄

    getage() { var birthdays = new Date(this.birthday.replace(/-/g, "/")); var d = new Date(); ...

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

    朋友谈及身份证相关的信息,才了解到原来省份证号码中包含了年龄和性别. 这样在数据库中,就不必单独留字段存放它们了(不过,要根据具体情况来,要是读取频率较高,还是单独列出为好),这样顺带解决了年龄变更的 ...

随机推荐

  1. Excel中最精确的计算年龄的公式

    身份证算年龄 假设A1是身份证号所在单元格 =IF(MONTH(NOW())<INT(MID(A1,11,2)),INT(YEAR(NOW())-INT(MID(A1,7,4)))-1,IF(M ...

  2. 第四届 CCCC 团体程序设计天梯赛 游记

    我们可能是唯一一个去参加这个比赛的中学生吧(划掉) DAY -inf 一天教练给我们说有这么个比赛,要选人,于是就愉快的开展了一次打字比赛 说实话手真的要抽筋了 不过最后还好涉险过关 DAY -1 疯 ...

  3. css控制table间距

    border-collapse: separate;border-spacing: 20px 30px; /* 水平间距 垂直间距 */

  4. JSP、HTML页面概述

    1. 展示 <%-- 此页面为jsp页面 --%> <!-- <%-- 注释 --%> JSP注释,注释内容不会被发送至浏览器甚至不会被编译 --> <%-- ...

  5. Vue-router(基础)_滚动行为和history模式

    一.前言 1.滚动事件 2.h5 history模式 二.主要内容 1.   (1)使用前度路由,当切换到新路由时,想要页面滚动到顶部,或者是保持原先滚动的位置,就像重新加载页面那样.vue-rout ...

  6. rocketmq 集群环境搭建配置

    rocketmq环境搭建配置: 一.   搭建三主集群,环境:centos-64 7.4 + RocketMQ-4.3.2 Master01: 192.168.102.68 Master02: 192 ...

  7. 04--STL序列容器(Stack和Queue)

    总括: stack和queue不支持迭代 一:栈Stack (一)栈的简介 stack是堆栈容器,是一种“先进后出”的容器. stack是简单地装饰deque容器而成为另外的一种容器. (二)栈的默认 ...

  8. JGUI源码:开发中遇到的问题(11)

    1.IE8下浏览器下css body边缘要留一个像素,如果不留的话,很有可能看不到最边缘的像素. 2.同一种颜色在深色背景和浅色背景下给人的感觉不一样,在深色背景下,给人感觉特别亮,所以深色背景下的颜 ...

  9. RabbitMQ installation

    以windows环境测试 Erlang http://www.erlang.org/downloads 下载并安装 运行时软件 Erlang OTP 21.3 Windows 64-bit Binar ...

  10. 查找修补文件差异diff、patch

    diff patch -p1 diff -Naur directory1 directory2