Avatar billede bigtime Nybegynder
07. juni 2010 - 14:55 Der er 6 kommentarer og
1 løsning

hvordan skriver jeg alderen med mktime

hey hvordan får jeg den til at skrive hvor gammel personen er i stedet for at skrive datoen ? jeg bruger  $alder = date("d-m-Y", $row["alder"]);
Avatar billede repox Seniormester
07. juni 2010 - 15:01 #1
Hvad indeholder $row["alder"]?
Avatar billede bigtime Nybegynder
07. juni 2010 - 15:02 #2
den indeholder 331077600 det er min fødselsdag
Avatar billede bigtime Nybegynder
07. juni 2010 - 15:03 #3
når den bliver skrevet ud kommer det til at stå 29-06-1980
Avatar billede repox Seniormester
07. juni 2010 - 15:19 #4
Jeg ville nok vælge at lave en klytløsning på den problematik; forstået på den måde at jeg vil trække de to årstal fra hinanden og hvis datoen idag, ikke er overskredet selve fødselsdatoen vil jeg trække et år fra.
Altså:
    $alder = date("Y") - date("Y", $row["alder"]);
    if( mktime(0, 0, 0, date("n", $row["alder"]), date("j", $row["alder"]), date("Y")) > time() )
        $alder--;

    echo $alder;


Årsagen er at jeg så slipper for en masse matematik med sekunder, skudår og så videre. Og det virker jo... medmindre din fødselsdag er før 1970...
Avatar billede bigtime Nybegynder
07. juni 2010 - 16:47 #5
cool tak det virker men men men nogen af brugerne er fra før 1970 hvad så ?
kan jeg få lidt mere forklaring måske :D så jeg  måske kan få lidt mere forstålse i det?

kom med et svar så får du pointene
Avatar billede repox Seniormester
07. juni 2010 - 23:04 #6
Det timestamp du anvender, er et tal der er baseret på noget kaldet Unix Epoch. Epoken er startet 1970-01-01 00:00:00 - så det tal du faktisk anvender er antal sekunder siden den dato og det klokkeslet.

Det ville være en fordel for dig - i tilfælde af at du har brugere der er ældre end det - at blot gemme datoen for fødselsdagen i databasen som et standard datoformat, f.eks. 1968-07-12

Så ville du kunne adskille datoens tal og beregne alderen på næsten samme måde som vi har gjort ovenfor.
Avatar billede bigtime Nybegynder
06. juli 2010 - 20:34 #7
okay det må jeg lige kikke nærmere på senere på året men ind til da tak for hjælpen
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