/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Alder
Fra : Frank N


Dato : 12-07-03 15:34

Hejsa,

Jeg forsøger at lave et lille php-script der regner en persons alder ud fra
fødselsdatoen.
Fødselsdatoen er f.eks. $born = "200876" (dvs. 20. august 1976).

Hvis jeg benytter følgende, kan jeg lave datoen om til unixtime:
$dd = substr($born, 0, 2);
$mm = substr($born, 2, 2);
$yy = substr($born, 4, 2);

$date = date('j F, Y', mktime(0,0,0,$mm,$dd,$yy));

Og på den måde kan jeg skrive fødselsdagen som jeg har lyst. Men hvordan
regner jeg ud hvor gammel personen er i antal år?

Mvh Frank



 
 
Jens Tønnesen (12-07-2003)
Kommentar
Fra : Jens Tønnesen


Dato : 12-07-03 16:57

"Frank N" <spam@drunk.dk> skrev i
dk.edb.internet.webdesign.serverside.php:

>Fødselsdatoen er f.eks. $born = "200876" (dvs. 20. august 1976).

>Hvis jeg benytter følgende, kan jeg lave datoen om til unixtime:

Så kan du vel kun bruge funktionen på personer født efter 1970
(ihvertfald på Windows-maskiner).

> $dd = substr($born, 0, 2);
> $mm = substr($born, 2, 2);
> $yy = substr($born, 4, 2);

Du kan jo nøjes blot med kigge på året:

$yy = 1900 + substr($born, 4, 2);

(dit datosystem lider fundamentalt af den svaghed, at du ikke kan
bruge det på personer født efter 2000 og før 1900, men det kan du ret
simpelt ændre.)

Herefter regner du antal år ud således:

$aar = date("Y")-$yy;

men ovenstående gælder kun, på selve fødselsdagen, derfor skal du lave
denne tilføjelse:

if (mktime(0,0,0,$mm,$yy,date("Y"))>time()) {
   $arr--;
}

der trækker én fra året, dersom personens fødselsdag i år ikke er
passeret.

Der er et par andre eksempler på aldersberegning i de bruger-leverede
eksempler på http://www.php.net/manual/en/ref.datetime.php

--
Jens Tønnesen - http://www.pressefoto.dk

Frank N (15-07-2003)
Kommentar
Fra : Frank N


Dato : 15-07-03 18:25

Mange tak, det var præcis hvad jeg havde brug for.

Mvh Frank



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste