Avatar billede sukos Juniormester
29. januar 2003 - 23:36 Der er 13 kommentarer og
1 løsning

Vis alder ud fra date("d-m-Y");

Har set mig svimmel på php.net for at finde ud af hvordan jeg laver eks. 27-12-1963 om til antal år, altså alderen lige p.t.
Nogen der kan hjælpe?
Avatar billede _darkstar_ Nybegynder
30. januar 2003 - 00:02 #1
Avatar billede sukos Juniormester
30. januar 2003 - 00:09 #2
hmm, der har jeg været, men det får jeg ikke til at funke med at jeg gerne vil vise antal år
Avatar billede sukos Juniormester
30. januar 2003 - 00:10 #3
time() går jo kun tilbage til 1.jan.1970

Men kan du gi' et eksempel på hvordan du ville gøre det med strtotime() ?
Avatar billede erikjacobsen Ekspert
30. januar 2003 - 00:19 #4
Time giver dags dato (i sekunder) siden 1970.
Men date giver "negative sekunder" for datoer
før 1970. Helt tilbage til omkring forrige
århundredeskifte - sådan ca.

Men om det er hvad du skal bruge til at løse opgaven
skal jeg nok blande mig uden om.
Avatar billede sukos Juniormester
30. januar 2003 - 00:24 #5
æh, det er sgu da vist nok, erik.
at den ku' gi' negativt havde jeg godt læst, men ikke "taget til mig".
Må lige prøve igen! :O)
Avatar billede sukos Juniormester
30. januar 2003 - 02:00 #6
hmm, ved sgutte, nu sidder jeg på en windows, og der strækker date formatet sig ikke længere tilbage end 1970-01-01

Bruger lige nu flg. (for meget kode)-kode: (men det virker! :O) )
<?php
$birth = $vis_info->birth; //i dette tilfælde, 27-12-1963
    if(!empty($birth)) { //Ja, hvis feltet nu er tomt
$nu = date("d-m-Y", time());
$split1 = explode("-", $birth);
$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;
    }
echo $antal_aar ." &aring;r";
}else{
echo"&nbsp;";
}
?>
Avatar billede sthen Nybegynder
30. januar 2003 - 02:01 #7
Meget undskyld erikjacobsen, men jeg er ikke 100% sikker på at du har ret.

Jeg håber det dog, da det er et problem som jeg selv har måttet slås med af og til, men indtil nu har opgivet.

Men ifald du har ret - og det håber jeg da - hvordan skal den så skæres med de "gamle" datoer.

Forsøgte selv med:

<html>
<head></head>
<body>
<?
$dato = mktime(01, 00, 00, 05, 14, 1953);
echo "Med mktime fås: ".$dato."<br>";

$dato2 = (-101659824);
echo "Med date fås: ".date("j / n - Y",$dato2)."<br>";
?>
</body>
<html>

Her er hvad jeg fik ud af det:

Med mktime fås: -1

Warning: unexpected error in date() in c:\inetpub\wwwroot\datotest.php on line 9
Med date fås:
Avatar billede sostack Nybegynder
30. januar 2003 - 09:40 #8
Forslag:
<?

$nu = date("d-m-Y");
$dele =  explode("-", $nu);
$år = "28-12-1959";
$dele1 =  explode("-", $år);
echo $dele[0] . " : " . $dele[1] . " : " . $dele[2] . "<br />\n";
if($dele[1] < $dele1[1]) { //check om det er i denne md. man har føds'da.
$alder = $dele[2] - $dele1[2] - 1;
} else {
$alder = $dele[2] - $dele1[2];
}
echo $alder;
?>
Avatar billede sukos Juniormester
30. januar 2003 - 09:50 #9
sostack->Hvad er lige forskellen på dit og det jeg bruger nu?
Bortset fra du kun tjekker på måneden?

Men ellers, så er man åbenbart nødt til at lave et eller andet kringlet for at vise en alder på en windows, hvis tiden er før 01011970
Avatar billede avminarm Juniormester
30. januar 2003 - 16:01 #10
hmmm - tænke på om ikke kunne trække de to datoer fra hinanden, altså vende dem om til yyyymmdd - der er absolut IKKE gennemtænkt, men blot en strøtanke, som der måske kan køres vidre på???

$bd="28-12-1959";

$dd = date("Ymd"); //idag

$aarstal = substr($bd, -4);
$md = substr($bd, -7, -5);
$dag = substr($bd, -10, -8);

$reverse = $aarstal.$md.$dag;

$alder = $dd-$reverse; //ja ja det giver et stort tal, men kan det regnes om ??
Avatar billede sukos Juniormester
30. januar 2003 - 22:41 #11
Hvis du vil ha' lidt point for din tid, avminarm, så smid et svar
Avatar billede _darkstar_ Nybegynder
30. januar 2003 - 23:26 #12
Tak for points. Sammenlignet med de andre synes jeg ikke just at jeg har gjort den store indsats.
Avatar billede avminarm Juniormester
31. januar 2003 - 09:20 #13
det er ok - det kan næppe bruges ;o)
Avatar billede sukos Juniormester
31. januar 2003 - 10:27 #14
æh, ja, jeg kom til at trykke på accepter i stedet for submit, men det gør sgutte noget :O)
Takker for hjælp
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