package com.cyjlgb.services.backend.utils;

import java.util.Calendar;
import java.util.Date;

public class LgbMedicalUtils {

/**
     * show 通过出生日期获取年龄.
     *
     * @param birthday 出生日期
     * @return
     */
    public static String getAgeByBirthday(Date birthday) {
        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)-1;
//                if (now.get(Calendar.DAY_OF_YEAR) > birth.get(Calendar.DAY_OF_YEAR)) {
//                    age += 1;
//                }
            }

} catch (Exception e) {
            return "0岁";
        }
        return age + "岁";
    }
    //由出生日期获得年龄
    public static  int getAge(Date birthDay) throws Exception {
        Calendar cal = Calendar.getInstance();
        if (cal.before(birthDay)) {
            throw new IllegalArgumentException(
                    "The birthDay is before Now.It's unbelievable!");
        }
        int yearNow = cal.get(Calendar.YEAR);
        int monthNow = cal.get(Calendar.MONTH);
        int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
        cal.setTime(birthDay);

int yearBirth = cal.get(Calendar.YEAR);
        int monthBirth = cal.get(Calendar.MONTH);
        int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);

int age = yearNow - yearBirth;

if (monthNow <= monthBirth) {
            if (monthNow == monthBirth) {
                if (dayOfMonthNow < dayOfMonthBirth) age--;
            }else{
                age--;
            }
        }
        return age;
    }
}

java 通过出生日期算年龄相关推荐

  1. Java:出生日期转年龄

    private int getAge(Date birthDay) {Calendar cal = Calendar.getInstance();//出生日期晚于当前时间,无法计算if (cal.be ...

  2. java 计算年龄 Java 根据出生日期计算年龄

    1.把出生日期字符串转换为日期格式. public static Date parse(String strDate) throws ParseException {SimpleDateFormat ...

  3. Java中巧算年龄的代码,小学四年级奥数巧算年龄例题及练习题

    [导语]年龄问题是一类与计算有关的问题,它通常以和倍.差倍或和差等问题的形式出现.有些年龄问题往往是和.差.倍数等问题的综合,需要灵活地加以解决.以下是无忧考网整理的<小学四年级奥数巧算年龄例题 ...

  4. java根据出生日期计算年龄_Java 根据出生日期获得年纪

    实现步骤: 1.获取当前时间 2.判断出生日期是否小于当前时间,如果大于,则引发一场 3.从当前时间中取出年.月.日:从出生日期中取出年.月.日,年份相减 4.然后做具体判断 示例代码如下: publ ...

  5. java根据出生日期自动计算年龄(工具类)

    public static int getAgeByBirth(Date birthDay) throws ParseException {int age = 0;Calendar cal = Cal ...

  6. 出生日期算年龄html,Javascript从出生日期算起的年龄

    让出生日期是1983年8月2日,然后是那个日期之间的毫秒差异是: var diff = new Date - new Date('1983-08-02'); 天数的差异是(1秒= 1000毫秒,1小时 ...

  7. sql根据出生日期算年龄

    select datediff(YY,生日,getdate()) as 年龄 from 表 另外datediff的用法: DATEDIFF(datepart,startdate,enddate) st ...

  8. Oracle 出生日期算年龄

    方法一: SELECT t.birth_date,TRUNC(months_between(sysdate, t.birth_date)/12) AS age from base_info t 方法二 ...

  9. 根据String类型日期算年龄

    根据String类型日期算年龄 思路: String日期转换成Date类型 判断月,日; 如果大于 当前月 并且 大于 当前日,则年减年减1 ;否者 年减年 建议: 3. 设计表结构时,不建议直接用i ...

最新文章

  1. Bags of Binary Words | 词袋模型解析
  2. 【正一专栏】登贝莱,该不该来!
  3. 学习Java开发难不难?好学吗?
  4. 技术她力量,鹅厂女博士的寻“豹”之旅
  5. 线程同步,线程不同步_重新同步多线程集成测试
  6. Hashcat从入门到入土(二)
  7. 网页检测不到java无法打印_如果PC连接到网络打印机,如何检查java?
  8. 容器,VM和Docker的初学者友好介绍
  9. bower 和 npm 的区别
  10. 异速联某客户端无法登陆
  11. tbslog乱码转换_word 编码 转换器 在线转换器
  12. js中的new Option默认选中
  13. 《踏踏实实学英语》读书笔记
  14. 河南高中学业水平计算机,河南高中学业水平考试
  15. 滴滴出行用户运营分析
  16. python对seo有什么用_pythonseo-python对于做SEO主要有什么作用
  17. 计算机系统处理机,处理机
  18. Git 标签管理(创建标签、操作标签)
  19. TCGA官网下载和TCGAbiolinks下载的文件数量竟然不一样?
  20. Webrtc 多人视频会议系统 服务器 Licode 介绍

热门文章

  1. linux. 获得cpu利用率 arm,Linux如何统计进程的CPU利用率
  2. 可解释性机器学习:从入门到实战
  3. 维基解密泄密狂 科技公司补漏忙
  4. Jest 里配置 babelrc,支持import导入
  5. 标签平滑深度学习:Google Brain解释了为什么标签平滑有用以及什么时候使用它(SOTA tips)​...
  6. 阿布扎比欢迎全世界所有已接种疫苗的旅行者,该政策9月5日起生效
  7. 发布炸弹超人游戏(C语言游戏源码)
  8. Windows权限维持方案(可过360主动防御)
  9. 19日病毒提醒:QQ/网银/江湖最凶险!(转)
  10. Android菜鸡的苦逼求职路