Als ik de geboortedatum weet hoe kan ik dan uitrekenen hoe oud iemand (vandaag) is?


Bij voorbaat dank,

JOHN
Je moet dan de huidige datum (als timestamp vorm) weten, en de geboorte datum in dezelfde timestamp, en dan huidige datum - geboorte datum doen. Dan krijg je als het goed is de timestamp van de huidige leeftijd.. En dat moet je dan ff goed weergeven :)))
Jepz ...
<?
$nu = time();
$geboorte = date("U", mktime(0, 0, 0, $maand, $dag, $jaar));

$tijdertussen = $nu - $geboorte;
?>
Als ik het volgende script run:

<?php

if(isset($submit) && $submit=="Doorgaan")
{
if (empty($geboren)) { return FALSE; }

$nu = time();
$geboren = date("U", mktime(0, 0, 0, $maand, $dag, $jaar));
$leeftijd = $nu - $geboren;

echo "Uw leeftijd is " . $leeftijd . "<br>\n";
}else{

?>

<h2>Uw leeftijd bepalen</h2>
<form name="testform" method="post" action=<?=$PHP_SELF?>>
Geboortedatum <input type=datum name=geboren size=10>
<hr>
<input type=submit name=submit value="Doorgaan">
<input type=reset name=reset value="Leegmaken">
</form>

<?
}


?>

en mijn eigen geboortedatum invul (11-10-1968),
krijg ik de volgende melding(en):

Warning: unexpected error in date() in leeftijd.php on line 8
Uw leeftijd is 1085926073
$maand $dag en $jaar moet dan dus de geboorte datum zijn he?
Moet ik dan zoiets als de volgende script runnen?

<?php

if(isset($submit) && $submit=="Doorgaan")
{
#if (empty($geboren)) { $geboren = $dag . "-" . $maand . "-" . $jaar };

$nu = time();
// U - seconden sinds epoch
$geboren = date("U", mktime(0, 0, 0, $maand, $dag, $jaar));
$leeftijd = $nu - $geboren;

echo "Uw leeftijd is " . $leeftijd . "<br>\n";
}else{

?>

<h2>Uw leeftijd bepalen</h2>
<form name="testform" method="post" action=<?=$PHP_SELF?>>
Geboortedatum
<input type=int name=dag size=3>
<select name=maand>
<option value=""></option>
<option value="01">Januari</option>
<option value="02">Februari</option>
<option value="03">Maart</option>
<option value="04">April</option>
<option value="05">Mei</option>
<option value="06">Juni</option>
<option value="07">Juli</option>
<option value="08">Augustus</option>
<option value="09">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<input type=int name=jaar size=5>
<hr>
<input type=submit name=submit value="Doorgaan">
<input type=reset name=reset value="Leegmaken">
</form>

<?
}


?>

Ik weet eigenlijk ook niet precies wat epoch is...

ik krijg dan nog nog de melding:
Warning: unexpected error in date() in leeftijd.php on line 9
Uw leeftijd is 1085927285
Is het niet lastig uitrekenen als je geboren bent voor 1 januari 1970??? (dat is epoch dus...)

Maar het gaat dus over hoeveel jaren je al op de wereld rondloopt.... niet het aantal seconden of wat dan ook...
Nee hoor. Voor de epoch krijg je negatieve getallen, het verschil blijft absoluut.
Ik ben ook bezig geweest voor een script om de leeftijd te bereken. Ik heb het bovenstaande voorbeeld gebruikt maar ik kwam er niet aan uit en dus heb ik zelf maar een script geschreven. Het is mss niet zo'n geweldig script maar het werkt :D Ik haal men Geboortedatum overigens uit een db.

<?php
$leeft = $var->leeftijd;
$date = explode("-", $leeft);

$jaartoen = $date[0];
$maandtoen = $date[1];
$dagtoen = $date[2];

$jaarnu = date(Y);
$maandnu = date(m);
$dagnu = date(d);

$jaar = $jaarnu - $jaartoen;
$maand = $maandnu - $maandtoen;
$dag = $dagnu - $dagtoen;

if ($maand < 0)
$leeftijd = $jaar-1;
elseif ($maand == 0 AND $dag < 0)
$leeftijd = $jaar-1;
else
$leeftijd = $jaar;

echo "$leeftijd";
?>
@Roy

Ik zal het eens proberen, alvast bedankt Roy...
Ik ben (helaas) niet zo thuis in klassen en objecten


JOHN
Hij gebruikt alleen $var->leeftijd. Dit omdat $var dus een object is met de leeftijd. Als je hiervan maakt:

<?
$leeftijd = "21";
?>

Zal hij het ook doen..

Reageren