美文网首页
java通过生日,判断是否满了18岁成年

java通过生日,判断是否满了18岁成年

作者: 燃英 | 来源:发表于2018-12-11 16:19 被阅读0次

    一个很简单的需求,已知一个身份证或者日期,判断对应的人是否满了18岁。

    网上有很多方法,有的就是直接按天算是否 大于 18年 乘以 365天,这些都可能不准确,毕竟存在闰年啊,闰月的,于是我自己写了一个:

    public static boolean checkAdult(Date date) {
    
            Calendar current = Calendar.getInstance();
            Calendar birthDay = Calendar.getInstance();
            birthDay.setTime(date);
            Integer year = current.get(Calendar.YEAR) - birthDay.get(Calendar.YEAR);
            if (year > 18) {
                return true;
            } else if (year < 18) {
                return false;
            }
            // 如果年相等,就比较月份
            Integer month = current.get(Calendar.MONTH) - birthDay.get(Calendar.MONTH);
            if (month > 0) {
                return true;
            } else if (month < 0) {
                return false;
            }
            // 如果月也相等,就比较天
            Integer day = current.get(Calendar.DAY_OF_MONTH) - birthDay.get(Calendar.DAY_OF_MONTH);
            return  day >= 0;
        }
    

    这样就能准确判断是否成年了

    相关文章

      网友评论

          本文标题:java通过生日,判断是否满了18岁成年

          本文链接:https://www.haomeiwen.com/subject/hprehqtx.html