Wiek na podstawie numeru PESEL

0

Witam, chciałbym wyciągnąć wiek osoby na podstawie numeru PESEL. Pierwsze dwie cyfry oznaczają rok (a konkretniej, dwie ostatnie cyfry roku). Od roku 2000 wprowadzono zasadę, że do miesiąca urodzenia będzie dodawana określona liczba w zależności od roku w jakim ktoś się urodził. I tak dla osób urodzonych w latach: 2000–2099 – dodajemy 20( do liczby miesiąca dodajemy 20)

static void Main(string[] args)
        {
            string personalCode = "05261195593";
            int age = 0;
            int year = 0;
            int month = 0;
            int currentYear = DateTime.Now.Year;

            if (!string.IsNullOrEmpty(personalCode))
            {
                 year = Convert.ToInt32(personalCode.Substring(0, 2));
                 month = Convert.ToInt32(personalCode.Substring(2, 2)); 

            }

            Console.WriteLine("Wiek: " + age);

            Console.ReadLine();
        }

Czy ktoś mógłby mi podpowiedzieć jak napisać taki kod uwzględniając osoby urodzone przed 2000r. i po bo nie mam pomysłu na to? Z góry dziękuję za pomoc ;)

4

Nie rozumiem w czym jet problem. Przecież wystarczy sprawdzić z jakiego zakresu jest miesiąc. Jeśli jest np. 20-40 to znaczy ,że to rok 2000-2099 więc 2000+dwie pierwsze cyfry itd.

3
hahaha21 napisał(a):

Witam, chciałbym wyciągnąć wiek osoby na podstawie numeru PESEL. Pierwsze dwie cyfry oznaczają rok (a konkretniej, dwie ostatnie cyfry roku). Od roku 2000 wprowadzono zasadę, że do miesiąca urodzenia będzie dodawana określona liczba w zależności od roku w jakim ktoś się urodził.

Uściślę że nie od 2000 roku wprowadzono, tylko już na początku wprowadzono. PESEL powstał w latach 70-tych, kiedy jeszcze sporo żyło osób urodzonych w 18xx, więc od samego początku musiało to być wzięte pod uwagę.

Liczba dodawana do miesiąca wynosi:

18xx - 80
19xx - 0
20xx - 20
21xx - 40
22xx - 60

Wartości 40 i 60 są rzecz jasna teoretyczne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0