09. marts 2011 - 13:57Der er
5 kommentarer og 1 løsning
Udregn alder fra CPR
Hej kloge hoveder,
Er det overhovedet muligt at udregne en alder ud fra et cpr. Se f.eks. følgende: a: 190281-xxxx b: 190209-xxxx
Man kan med fordel antage at a er 30 år, men hvor gammel er b? 1 eller 101?
Jeg har lavet en stump kode, som udregner alderen, men den funker ikke helt efter planen, da den jo bruger år som 81 og 09 (og ikke 1981 og 1909/2009): ----- private String calculateAge(String s) { try { int y = Integer.parseInt(s.substring(4, 6)); int m = Integer.parseInt(s.substring(2, 4)) - 1; int d = Integer.parseInt(s.substring(0, 2)); int century = 0; char lbNr = s.charAt(6); switch (lbNr) { case '0': case '1': case '2': case '3': century = 1900; break; case '4': case '9': century = y < 37 ? 2000 : 1900; break; default: // 5, 6, 7, 8 century = y < 37 ? 2000 : y > 57 ? 1800 : 0; } y += century; Calendar cal = new GregorianCalendar(y, m, d); Calendar now = new GregorianCalendar(); int res = now.get(Calendar.YEAR) - cal.get(Calendar.YEAR); if ((cal.get(Calendar.MONTH) > now.get(Calendar.MONTH)) || (cal.get(Calendar.MONTH) == now.get(Calendar.MONTH) && cal.get(Calendar.DAY_OF_MONTH) > now.get(Calendar.DAY_OF_MONTH))) { res--; } return String.valueOf(res); } catch (Exception e) { log.info("Error calculating age for cpr: " + s); return ""; } } -----
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.