Avatar billede -kenner- Nybegynder
27. maj 2005 - 13:23 Der er 11 kommentarer og
1 løsning

beregne alder ud fra fødselsdato

Hej eksperter,

Jeg står lige og mangler et script, som skal beregne personers aldre ud fra fødselsdatoer.

Fødselsdatoerne er angivet i dette format: 22-3-1988.

Mvh Kenenth
Avatar billede repox Seniormester
27. maj 2005 - 13:52 #1
Ved ikke om der er en nemmere måde, der er der sikkert, men her er et lille bud:

$birthday = "22-3-1988";
$numbers = explode("-", $birthday);
$age = date("Y") - date("Y", mktime(0, 0, 0, $numbers[1], $numbers[0], $numbers[2]));
if(date("n") < $numbers[1]) { $age--; }
echo $age;
Avatar billede -kenner- Nybegynder
27. maj 2005 - 14:01 #2
Det virker perfekt, du får lige point :D
Avatar billede coderdk Praktikant
27. maj 2005 - 14:03 #3
Det skal lige nævnes at det ikke virker hvis folk er født før 1970 ;)
Avatar billede sukos Juniormester
27. maj 2005 - 14:13 #4
[ note: "Davs coderdk :O)" ]

Det virker da heller ikke?

Hvis nu vi tager dagen imorgen: 28-5-1988


$birthday = "28-5-1988";
$numbers = explode("-", $birthday);
$age = date("Y") - date("Y", mktime(0, 0, 0, $numbers[1], $numbers[0], $numbers[2]));
if(date("n") < $numbers[1]) { $age--; }
echo $age;

echo"<p>";

function brugeralder($var) {
if(trim($var) !="") {
$split1 = explode("-", $var);
    if(count($split1) == 3) {
    $nu = date("d-m-Y", time());
    $split2 = explode("-", $nu);

    if($split2[1] . $split2[0] >= $split1[1] . $split1[0]) {
    $antal_aar = ($split2[2]-$split1[2]);
    }else{
    $antal_aar = (($split2[2]-$split1[2])-1);
    }

    return $antal_aar;

    }else{
    return"n/a";
    }

}else{
return "n/a";
    }
}

echo brugeralder($birthday);
Avatar billede -kenner- Nybegynder
27. maj 2005 - 14:23 #5
Hov, det kan jeg da godt se :/

Tak sukos :D

Skal jeg oprette et nyt spørgsmål, så du kan få point for dit svar?
Avatar billede -kenner- Nybegynder
27. maj 2005 - 14:24 #6
Så den færdige kode bliver?:

function brugeralder($var) {
if(trim($var) !="") {
$split1 = explode("-", $var);
    if(count($split1) == 3) {
    $nu = date("d-m-Y", time());
    $split2 = explode("-", $nu);

    if($split2[1] . $split2[0] >= $split1[1] . $split1[0]) {
    $antal_aar = ($split2[2]-$split1[2]);
    }else{
    $antal_aar = (($split2[2]-$split1[2])-1);
    }

    return $antal_aar;

    }else{
    return"n/a";
    }

}else{
return "n/a";
    }
}
$birthday = "28-5-1000";
echo brugeralder($birthday);
Avatar billede sukos Juniormester
27. maj 2005 - 14:25 #7
næhh, og coderdk har også en funktion et sted, som tager sek. timer m.m. med :O)
Avatar billede sukos Juniormester
27. maj 2005 - 14:26 #8
Hov, næhh var selvf. til point!
Avatar billede payne Nybegynder
27. maj 2005 - 15:16 #9
hej jeg ved godt dette ikke er relevant, men hvordan opretter jeg et spørgsmål.
Hjælp .- tak og undskyld kenneth at jeg bruger dit spørgsmål
Avatar billede coderdk Praktikant
27. maj 2005 - 15:18 #10
http://php.coder.dk/calcage.php <- Der er en færdig en som kan udregner ret præcist ;)
Avatar billede coderdk Praktikant
27. maj 2005 - 15:18 #11
(PS: Hej sukos :-D)
Avatar billede -kenner- Nybegynder
27. maj 2005 - 17:31 #12
Men den kode jeg har fået nu, virker optimalt til udregning af alder i år, ikke?
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