首页 > 其他分享 >通过生日计算 年龄

通过生日计算 年龄

时间:2023-11-18 15:33:42浏览次数:27  
标签:年龄 nowCalendar get int birthCalendar 计算 Calendar 生日

/**
     * 计算 年龄
     *
     * @param birthDate 生日
     * @return 岁数  当 生日 大于 当前时间时,返回 -1
     */
    public static int getAge(Date birthDate) {
        // 当前日历
        Calendar nowCalendar = Calendar.getInstance();
        // 生日大于当前日期
        if (nowCalendar.before(birthDate)) {
            return -1;
        }
        // 当前年月日
        int yearNow = nowCalendar.get(Calendar.YEAR);
        int monthNow = nowCalendar.get(Calendar.MONTH);
        int dayNow = nowCalendar.get(Calendar.DAY_OF_MONTH);
        // 出生日期年月日
        Calendar birthCalendar = Calendar.getInstance();
        birthCalendar.setTime(birthDate);
        int yearBirth = birthCalendar.get(Calendar.YEAR);
        int monthBirth = birthCalendar.get(Calendar.MONTH);
        int dayBirth = birthCalendar.get(Calendar.DAY_OF_MONTH);
        // 粗计算年龄
        int age = yearNow - yearBirth;
        // 当前月份小于出生月份年龄减一
        if (monthNow < monthBirth) {
            age--;
        }
        // 当前月份等于出生月份,日小于生日年龄减一
        else if (monthNow == monthBirth && dayNow < dayBirth) {
            age--;
        }
        // 返回年龄值
        return age;
    }

 

标签:年龄,nowCalendar,get,int,birthCalendar,计算,Calendar,生日
From: https://www.cnblogs.com/huang2979127746/p/17840595.html

相关文章

  • 2023-2024-1 20231320 《计算机基础与程序设计》第八周学习总结
    2023-2024-120231320《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程<班级的链接>(2023-2024-1计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2022-2023-1计算机基础与程序设计第八周作业)这个作业的目标<自学《计算机基础与......
  • 计算机科学速成课
    建议看看计算机科学速成课,一门很全面的计算机原理入门课程,短短10分钟可以把大学老师十几节课讲的东西讲清楚!整个系列一共41个视频,B站上有中文字幕版。每个视频都是一个特定的主题,例如软件工程、人工智能、操作系统等,主题之间都是紧密相连的,比国内很多大学计算机课程强太多!这门......
  • 2023-2024 20231313《计算机基础与程序设计》第八周学习总结
    作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计)这个作业要求在哪里2023-2024-1计算机基础与程序设计第八周作业这个作业的目标功能设计与面向对象设计、面向对象设计过程、面向对象语言三要素、汇编、编译、解释、执行作业正文https://www.cnb......
  • Fluent_在计算过程中修改边界条件
    假设在几何中有a,b,c,d,e四个边界,a和d分别为inlet和outlet,而b和c均为wall,在b上有开口e。在计算开始时,e的边界类型为wall,但在计算到t(如2s)时希望将e修改为pressure-outlet。在Fluent中可以做如下设置:将计算改为瞬态后,打开dynamicmesh下的events。Numberofevents设置为1。打开......
  • 计算机图形:图元、片元、光栅化等基本概念
    几种“点”的概念顶点(vertex):图元(如线段、三角形、圆等几何图形)由顶点+边组成,由用户及其建立的模型确定.图元(primitive):描述对象的几何要素的输出图元,称为几何图元,简称图元.如点、直线段、圆、二次曲线、曲面等.片元(fragment):光栅化过程的产物,光栅化将一个图元转变成二维图......
  • 什么是计算机安全领域的渗透测试
    渗透测试概述渗透测试,又被称为PenetrationTesting(或简称PenTest),是一种网络安全活动,旨在模拟恶意黑客的攻击行为,以评估计算机系统、网络或应用程序的安全性。渗透测试通过模拟各种攻击手法,验证潜在漏洞和弱点,为组织提供全面的安全评估。渗透测试的主要目的是发现潜在的安全漏洞,以......
  • 新冠肺炎疫情可视化系统-计算机毕业设计源码+LW文档
    开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:PyCharm浏览器:谷歌浏览器DROPTABLEIFEXISTSaboutus;/*!40101SET@saved_cs_client=@@character_set_client/;/!40101SETcharacter_set_client=utf8......
  • 边缘计算网关有哪些应用场景?边缘计算网关应用场景大汇总
    边缘计算技术是指在靠近设备或数据源头的一侧,就近提供数据分析处理服务。通常由边缘计算网关或计算终端实现,能够实现更快的设备/服务响应,满足各行业在实时业务、应用智能、安全与隐私保护等方面的需求。本篇就为大家简要总结介绍一下边缘计算网关的常见应用场景。  1、智能......
  • 基于python的影片数据爬取与数据分析-计算机毕业设计源码+LW文档
    摘 要快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,通过线上管理影片数据爬取与数据分析也就相继涌现。与此同时,人们开始接受方便的生活方式。他们不仅希望页面简单大方,还希望操作方......
  • 浅谈基于云计算的环境智能监控系统
    随着经济的飞速发展,环境污染也越来越严重,环境监控成为了政府与社会关注的焦点。本文提出了一种基于云计算的环境智能监控系统——EasyCVR,该系统综合应用了传感器、云计算、大数据、人工智能等技术,具有实时、准确、高效的监控能力,并能够对监控数据进行综合分析和预测,为环保决策提供......