zoukankan      html  css  js  c++  java
  • 根据身份证号码来判断处于两个年龄之间

    1、业务需求 要筛选出注册年龄处于18-35周岁的用户

    思路:1、现在都是二代身份证18位。

    2、拿到截取6-18位拿到年月日。

    3、获取当前系统时间转化成Date分别减去18年、35年,计算出时间区域。

    4、判断用户是否处于时间区域

    public static boolean validateIDCARD(String IdNO)
        {
            String birthday = "";
            Date birthdate;
            Date birthdateMax;
            Date birthdateMin;
            Boolean flag = false;
            try
            {
                birthday = IdNO.substring(6, 14);
                birthdate = new SimpleDateFormat("yyyyMMdd").parse(birthday);
                
                Calendar calMax = new GregorianCalendar();
                Calendar calMin = new GregorianCalendar();
                calMax.setTime(new Date());
                calMax.add(Calendar.YEAR, -18);  // 离得最近的年月份
                calMin.setTime(new Date());
                calMin.add(Calendar.YEAR, -35);  // 离得最远的年月份
                
                SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
                
                String nownowMax = df.format(calMax.getTime());
                String nownowMin = df.format(calMin.getTime());
                
                birthdateMax = df.parse(nownowMax);
                birthdateMin = df.parse(nownowMin);
                flag = birthdate.after(birthdateMin) && birthdate.before(birthdateMax);
            }
            catch(ParseException e)
            {
                e.printStackTrace();
            }
            
            return flag;
            
        }

     PS:如果对你有帮助,请给一下评价,让我感觉到我写的价值。

  • 相关阅读:
    Hackerrank alien-flowers(数学公式)
    Hackerrank manasa-and-combinatorics(数学推导)
    Codeforces 314B(倍增)
    Codeforces Round #403(div 2)
    Mutual Training for Wannafly Union #6
    几道splay
    高数(A)下 第十章
    Bestcoder #92
    codevs1700 施工方案第二季
    poj2631
  • 原文地址:https://www.cnblogs.com/fan-lp/p/6509546.html
Copyright © 2011-2022 走看看