Avatar billede acmed Nybegynder
05. februar 2004 - 14:56 Der er 7 kommentarer og
2 løsninger

Beregning af fødselsdag

Jeg har en tabel med datoerne på nogle personers fødselsdage.
Jeg har så lavet et script, der udskriver en liste over alle de folk der har fødselsdag i det aktuelle år.

Det jeg gerne vil tilføje, er et script, der beregner hvor gamle de bliver på deres fødselsdag (udfra deres fødedato).
Hvordan laver man simplest det?
Avatar billede donslund Nybegynder
05. februar 2004 - 14:59 #1
Lige koden har jeg ikke, men de må nødvendigvis blive (dette_år - deres_fødeår) + 1 hvis (deres_fødedato > idag_dato)

Gav det mening?
Avatar billede cautoo Nybegynder
05. februar 2004 - 15:01 #2
function getalder($alder) {
$fY = substr($alder,0,4);
$fm = substr($alder,5,2);
$fd = substr($alder,8,2);

$Y = date("Y");
$m = date("m");
$d = date("d");

$udregn = $Y-$fY;
if (($fm>$m) || ($fm==$m && $fd>$d)) {$udregn--;}
return $udregn;
}

echo getalder('1990/01/01');
Avatar billede donslund Nybegynder
05. februar 2004 - 15:05 #3
$alder = date("Y") - date("Y", $row[fodselsdag]);
if (Date("j") < Date("j", $row[fodselsdag])) && (Date("n") < Date("n", $row[fodselsdag])) {
    $alder++
}

er ikke testet
Avatar billede sukos Juniormester
06. februar 2004 - 09:02 #4
Man har vel alle fødselsdag en gang om året? :O)
Anyway, hvordan gemmer du datoen?

27-12-1963
1963-12-27
Avatar billede Slettet bruger
06. februar 2004 - 16:59 #5
Hvis du bare skal vide, hvor gamle de bliver på den fødselsdag, de har i år, er det jo simpelt nok:

$alder=date('Y') - $foedselsaar;

Du skal ikke (som donslund foreslår) lægge en til eller noget i den stil. Det er kun, hvis du vil vide, hvor gamle de er på en dag, som ligger FØR deres fødseldag i et år, at du skal trække en FRA.

cautoos forslag er mere korrekt, men det udregner også, hvor gammel personen er IDAG, ikke på fødselsdagen.
Avatar billede acmed Nybegynder
08. februar 2004 - 00:48 #6
Sandbox, det gik egentlig også op for mig at det bare var så simpelt - jeg havde bare lige først tænkt, at man måtte tage højde for, om de havde fødselsdag før/efter datoen i dag.
Dem der vil have point: læg et svar
Avatar billede Slettet bruger
08. februar 2004 - 01:26 #7
Her er et fra mig.
Avatar billede morten_21 Nybegynder
14. januar 2008 - 13:52 #8
Sparker lige liv i et gammel emne :)

Kunne man nemt udvide scriptet til at omfatte dage også? Så outputtet bliver f.eks. "29 år og 187 dage".
Avatar billede Slettet bruger
14. januar 2008 - 20:09 #9
Så er det jo et andet spørgsmål. På deres fødselsdag er folk jo altid X år og nul dage.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester