Skip to content

Instantly share code, notes, and snippets.

@peterpeerdeman
Last active December 18, 2015 07:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peterpeerdeman/5747096 to your computer and use it in GitHub Desktop.
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
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