Automatisk opdatere alder på hjemmesiden?


Jeg ved ikke hvor mange gange jeg har været nødt til at opdatere min hjemmeside manuelt når mine sønner har haft fødselsdag, jeg selv er blevet ældre eller konen er blevet et år skønnere...

Men så tænkte jeg... "Hvordan kan jeg slippe for at opdatere min hjemmeside med de trivielle ændringer..."

Hvorfor jeg udviklede et script til at køre hver gang siden loader, som så giver det nøjagtige antal år fra den givne dato.

Alderen er jo bare tal...


Man kan sige at en alder bare er tal... f.eks. min fødselsdag er den 25. februar 1972 - så ifølge YYYY-MM-DD vil det være 1972-02-25.

Hvis det så i dag var den 2010-02-26 ville det være fedt at have et script der bare kunne regne 2010 minus 1972 = 38. 2 minus 2 = 0. 26 minus 25 = 1. Hvilket vil sige min alder ville være 38 år, 0 måneder og 1 dag. Rundet ned (man runder ikke alder op har jeg ladet mig fortælle) = 38 år.

Scriptets udseende


Som det kan ses - er scriptet rigtigt simpelt:

<?PHP
function findAge( $bornDate )
{
    list($Y,$m,$d)    = explode("-",$bornDate);
    $aar              = date("Y") - $Y;
     
    if(date("md") < $m.$d ) { $aar--; }
    return $aar;
}
?>

Placering af scriptet


Funktionen skal skrives i f.eks en fil du inkluderer i alle dine scripts, eller det skal lægges i bunden af f.eks. en index.php. Det bør ikke lægges i to steder der måske kan gå i konflikt med hinanden - da det så vil skrive en fejl ala. følgende:
Fatal error: Cannot redeclare findage() (previously declared in /path/til/site.dk/test.php:2) in /path/til/site.dk/test2.php on line 17

Kald af script


For at kalde funktionen skal du bruge en syntax:

<?PHP
 echo findAge("1972-02-25");
?>


Denne kan kaldes mange gange på en side.


De synes godt om dette · Thomas Petersen
Kommentarer:
Dette er så awesome!

It works

Cirka 14 år siden (01/12/2010 16:28:02)
Du skal være logget ind for at bruge denne funktion.
Brugernavn
Kodeord


Det er gratis at oprette en bruger
Hop til toppen