Da buon web developer, ho appena terminato l’implementazione del facebook login così da precompilare alcuni dati richiesti in un form di registrazione. Tra questi il campo “età“.

Ora, calcolare l’età sembra banale, ma non lo è.
Non basta fare la differenza fra l’anno attuale e quello di nascita, bisogna tener conto anche del mese, del giorno e del formato di data che, nel caso di facebook è mm/dd/aaaa.

Ho quindi realizzato una pratica funzione javascript per calcolare l’età che finirà nella mia personale collezione!
L’unico argomento  richiesto dalla funzione è una data di nascita, in qualsiasi formato.

function calcAge (birthday) {
    birthday = new Date(birthday);
    today     = new Date();

    var years = (today.getFullYear() - birthday.getFullYear());

    if (today.getMonth() < birthday.getMonth() || 
        today.getMonth() == birthday.getMonth() && today.getDate() < birthday.getDate()) {
        years--;
    }

    return years;
}