Last active
December 18, 2015 07:29
-
-
Save peterpeerdeman/5747096 to your computer and use it in GitHub Desktop.
AOW age calculated through http://www.rijksoverheid.nl/onderwerpen/algemene-ouderdomswet-aow/vraag-en-antwoord/wanneer-krijg-ik-aow.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// AOW age calculated through http://www.rijksoverheid.nl/onderwerpen/algemene-ouderdomswet-aow/vraag-en-antwoord/wanneer-krijg-ik-aow.html | |
function calculateAOWDate(birthdate) { | |
if(!birthdate) { | |
throw 'birthdate parameter not defined'; | |
} | |
if(birthdate < new Date('1 january 1948')) { | |
// voor 1 januari 1948 -> 65 | |
birthdate.setFullYear(birthdate.getFullYear()+65); | |
return birthdate; | |
} else if (birthdate > new Date('31 december 1947') && | |
birthdate < new Date('1 december 1948') ) { | |
// na 31 december 1947 en voor 1 december 1948 -> 65 + 1 maand | |
birthdate.setFullYear(birthdate.getFullYear()+65); | |
birthdate.setMonth(birthdate.getMonth()+1); | |
return birthdate; | |
} else if (birthdate > new Date('30 november 1948') && | |
birthdate < new Date('1 november 1949') ) { | |
// na 30 november 1948 en voor 1 november 1949 -> 65 + 2 maanden | |
birthdate.setFullYear(birthdate.getFullYear()+65); | |
birthdate.setMonth(birthdate.getMonth()+2); | |
return birthdate; | |
} else if (birthdate > new Date('31 october 1949') && | |
birthdate < new Date('1 october 1950') ) { | |
// na 31 oktober 1949 en voor 1 oktober 1950 -> 65 + 3 maanden | |
birthdate.setFullYear(birthdate.getFullYear()+65); | |
birthdate.setMonth(birthdate.getMonth()+3); | |
return birthdate; | |
} else if (birthdate > new Date('30 september 1950') && | |
birthdate < new Date('1 august 1951') ) { | |
// na 30 september 1950 en voor 1 augustus 1951 -> 65 + 5 maanden | |
birthdate.setFullYear(birthdate.getFullYear()+65); | |
birthdate.setMonth(birthdate.getMonth()+5); | |
return birthdate; | |
} else if (birthdate > new Date('31 july 1951') && | |
birthdate < new Date('1 june 1952') ) { | |
// na 31 juli 1951 en voor 1 juni 1952 -> 65 + 7 maanden | |
birthdate.setFullYear(birthdate.getFullYear()+65); | |
birthdate.setMonth(birthdate.getMonth()+7); | |
return birthdate; | |
} else if (birthdate > new Date('31 may 1952') && | |
birthdate < new Date('1 april 1953') ) { | |
// na 31 mei 1952 en voor 1 april 1953 -> 65 + 9 maanden | |
birthdate.setFullYear(birthdate.getFullYear()+65); | |
birthdate.setMonth(birthdate.getMonth()+9); | |
return birthdate; | |
} else if (birthdate > new Date('31 march 1953') && | |
birthdate < new Date('1 january 1954') ) { | |
// na 31 maart 1953 en voor 1 januari 1954 -> 66 | |
birthdate.setFullYear(birthdate.getFullYear()+66); | |
return birthdate; | |
} else if (birthdate > new Date('31 december 1953') && | |
birthdate < new Date('1 october 1954') ) { | |
// na 31 december 1953 en voor 1 oktober 1954 -> 66 + 3 maanden | |
birthdate.setFullYear(birthdate.getFullYear()+66); | |
birthdate.setMonth(birthdate.getMonth()+3); | |
return birthdate; | |
} else if (birthdate > new Date('30 september 1954') && | |
birthdate < new Date('1 july 1955') ) { | |
// na 30 september 1954 en voor 1 juli 1955 -> 66 + 6 maanden | |
birthdate.setFullYear(birthdate.getFullYear()+66); | |
birthdate.setMonth(birthdate.getMonth()+6); | |
return birthdate; | |
} else if (birthdate > new Date('30 june 1955') && | |
birthdate < new Date('1 april 1956') ) { | |
// na 30 juni 1955 en voor 1 april 1956 -> 66 + 9 maanden | |
birthdate.setFullYear(birthdate.getFullYear()+66); | |
birthdate.setMonth(birthdate.getMonth()+9); | |
return birthdate; | |
} else if (birthdate > new Date('31 march 1956') && | |
birthdate < new Date('1 january 1957') ) { | |
// na 31 maart 1956 en voor 1 januari 1957 -> 67 | |
birthdate.setFullYear(birthdate.getFullYear()+67); | |
return birthdate; | |
} else if (birthdate > new Date('31 december 1956')) { | |
// na 31 december 1956 -> nog niet bekend, default 67 | |
birthdate.setFullYear(birthdate.getFullYear()+67); | |
return birthdate; | |
} else { | |
throw 'birthdate out of range'; | |
} | |
} | |
/* | |
U bent geboren -> Uw leeftijd als uw AOW-uitkering ingaat, is: | |
voor 1 januari 1948 -> 65 | |
na 31 december 1947 en voor 1 december 1948 -> 65 + 1 maand | |
na 30 november 1948 en voor 1 november 1949 -> 65 + 2 maanden | |
na 31 oktober 1949 en voor 1 oktober 1950 -> 65 + 3 maanden | |
na 30 september 1950 en voor 1 augustus 1951 -> 65 + 5 maanden | |
na 31 juli 1951 en voor 1 juni 1952 -> 65 + 7 maanden | |
na 31 mei 1952 en voor 1 april 1953 -> 65 + 9 maanden | |
na 31 maart 1953 en voor 1 januari 1954 -> 66 | |
na 31 december 1953 en voor 1 oktober 1954 -> 66 + 3 maanden | |
na 30 september 1954 en voor 1 juli 1955 -> 66 + 6 maanden | |
na 30 juni 1955 en voor 1 april 1956 -> 66 + 9 maanden | |
na 31 maart 1956 en voor 1 januari 1957 -> 67 | |
na 31 december 1956 -> nog niet bekend, default 67*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment