根据日期判断是否满18岁成年

        //使用Calendar类代表当前时间
        Calendar c = Calendar.getInstance();
        //examinee.getBaseInfo().getBirthday()获取前端页面输入的日期
        Date ss =examinee.getBaseInfo().getBirthday();
        //date转换为calendar类
        Calendar cal = Calendar.getInstance();
        cal.setTime(ss);
        //比较年份 当前年份-输入年份大于18--已成年
        Integer year = c.get(Calendar.YEAR) - cal.get(Calendar.YEAR);
        //比较月份,相同年份用月份做判断,当前月分-输入月份大于0--为未成年,负数为已成年
        Integer month = c.get(Calendar.MONTH) - cal.get(Calendar.MONTH);
        //比较日,相同月份,用日做判断,当前日-输入日大于0--为未成年,负数为已成年
        Integer date = c.get(Calendar.DAY_OF_MONTH) - cal.get(Calendar.DAY_OF_MONTH);
        //year年份大于18为已成年,month为正数且大于0且year大于18为已成年,date为正数且大于0且month为正数大于0且year大于18为已成年
          if (year < 18 || month > 0 || date>0 ) {
              throw new ServiceLayerException("不满18岁!");
          }                
原文地址:https://www.cnblogs.com/yanchaohui/p/12803366.html