PDA

Bekijk Volledige Versie : Leeftijd destilleren in php uit geboortedatum



Eduard Bekker
12/01/04, 13:15
Beste mensen!

Bestaat er een slimme truuk om uit de geboortedatum snel de leeftijd te
destilleren?

B.v.d.

--
---------------------------
Groetjes,
Eduard
http://www.websitez.nl
---------------------------

Maarten Wierda
12/01/04, 13:15
Eduard Bekker wrote:

> Beste mensen!

Hoi.

> Bestaat er een slimme truuk om uit de geboortedatum snel de leeftijd te
> destilleren?

Met <http://nl.php.net/manual/nl/function.date.php> en
<http://nl.php.net/manual/nl/function.mktime.php> zou je een eind moeten
komen.

--
Cheers, Maarten Wierda

"This heart gets stronger,
this skin gets thicker,
this voice gets louder!"

Eduard Bekker
12/01/04, 13:45
Maarten Wierda wrote:
> Eduard Bekker wrote:
>> Bestaat er een slimme truuk om uit de geboortedatum snel de leeftijd
>> te destilleren?

> Met <http://nl.php.net/manual/nl/function.date.php> en
> <http://nl.php.net/manual/nl/function.mktime.php> zou je een eind moeten
> komen.

Daar staat inderdaad wel e.e.a.. Makkelijk is het echter niet.
Het blijft een fors verhaal, waar ik al bang voor was.

--
---------------------------
Groetjes,
Eduard
http://www.websitez.nl
---------------------------

Ted de Vries
12/01/04, 13:45
Kijk even op:
http://www.phpfreakz.nl/library.php?sid=4595
daar staat een voorbeeld!

Even wat anders, kan je mij vertellen met welk programma de plaatjes van de
omlijsting (blauw/geel)
van jouw site zijn gemaakt.
Ik wil graag ook zoiets op mijn site (www.dvsoftware.nl)
maken.

Groeten, Ted de Vries


"Eduard Bekker" <e.bekker@layout.nl> schreef in bericht
news:40028D71.2040500@layout.nl...
> Beste mensen!
>
> Bestaat er een slimme truuk om uit de geboortedatum snel de leeftijd te
> destilleren?
>
> B.v.d.
>
> --
> ---------------------------
> Groetjes,
> Eduard
> http://www.websitez.nl
> ---------------------------
>

robert
12/01/04, 14:00
Eduard Bekker <e.bekker@layout.nl>:
> Maarten Wierda wrote:
>
>> Eduard Bekker wrote:
>>
>>> Bestaat er een slimme truuk om uit de geboortedatum snel de leeftijd
>>> te destilleren?
>
>> Met <http://nl.php.net/manual/nl/function.date.php> en
>> <http://nl.php.net/manual/nl/function.mktime.php> zou je een eind
>> moeten komen.
>
> Daar staat inderdaad wel e.e.a.. Makkelijk is het echter niet. Het
> blijft een fors verhaal, waar ik al bang voor was.

Een paar regels zou toch voldoende moeten zijn. Even in Perl, want ik doe
geen PHP (en untested, uiteraard):

my @today = (2004, 1, 12); # Y, M, D
my @born = (1977, 3, 14);

my $age = $today[0] - $born[0];
$age-- if $today[1] < $born[1] || $today[2] < $born[2];

--
robert

Michiel de Roo
12/01/04, 16:15
Eduard Bekker wrote:
> Beste mensen!
>
> Bestaat er een slimme truuk om uit de geboortedatum snel de leeftijd te
> destilleren?
>
> B.v.d.
>
quick and dirty:

<?
$date = '12-1-1970'; //geboortedatum

$a = preg_split("/[^0-9|:|\?]/",$date);
$y=$a[2]; $m=$a[1]; $d=$a[0];
$t1 = date("U", mktime(0,0,0,$m+0,$d+0,$y+0));
$t2 = date("U", mktime());

$t = $t2 - $t1;
echo $t/(60*60*24*365.25);
?>


Uiteraard een beetje onnauwkeurige oplossing voor de schrikkeljaren
(365.25 dagen in een jaar), maar daar kom je vast wel overheen.

Michiel.

Ronald Klip
12/01/04, 16:45
Eduard Bekker schreef:
>
> Bestaat er een slimme truuk om uit de geboortedatum snel de leeftijd te
> destilleren?

Geen truuk maar een opmerking: de functies date() en mktime() werken met
de Unix-timestamp. Op Windows ben je daardoor beperkt tot data tussen 1-
1-1970 en ergens in 2038; op niet-Windows gaat het fout met data vóór
13-12-1901.

Voor een waterdichte berekening kun je dus beter niet op die fucnties
vertrouwen.

--
groet, Ronald

Michiel de Roo
12/01/04, 17:00
Ronald Klip wrote:
> Eduard Bekker schreef:
>
>>Bestaat er een slimme truuk om uit de geboortedatum snel de leeftijd te
>>destilleren?
>
>
> Geen truuk maar een opmerking: de functies date() en mktime() werken met
> de Unix-timestamp. Op Windows ben je daardoor beperkt tot data tussen 1-
> 1-1970 en ergens in 2038; op niet-Windows gaat het fout met data vóór
> 13-12-1901.
>
> Voor een waterdichte berekening kun je dus beter niet op die fucnties
> vertrouwen.
>

Je hebt gelijk. Overigens gaat het ook op Linux fout voor 1-1-1970.

Mijn aangepaste scriptje:

<?
$date = '12-1-1969';
$a = preg_split("/[^0-9|:|\?]/",$date);
$y=$a[2]; $m=$a[1]; $d=$a[0];
$t1 = date("U", mktime(0,0,0,$m+0,$d+0,$y+0));
$t2 = date("U", mktime());

$t = $t2 - $t1;
$l = $t/(60*60*24*365.25);

if($y<1970) $l += 1970-$y;
echo $l;
?>

Eduard Bekker
12/01/04, 18:00
Ted de Vries wrote:
> Kijk even op:
> http://www.phpfreakz.nl/library.php?sid=4595
> daar staat een voorbeeld!
>
> Even wat anders, kan je mij vertellen met welk programma de plaatjes van de
> omlijsting (blauw/geel)
> van jouw site zijn gemaakt.
> Ik wil graag ook zoiets op mijn site (www.dvsoftware.nl)
> maken.

Photoshop.

--
---------------------------
Groetjes,
Eduard
http://www.websitez.nl
---------------------------

Eduard Bekker
12/01/04, 18:00
Michiel de Roo wrote:

> Mijn aangepaste scriptje:
Dank je! Ik ga er mee stoeien!

--
---------------------------
Groetjes,
Eduard
http://www.websitez.nl
---------------------------