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 :)))
Link gekopieerd
Jepz ...
<?
$nu = time();
$geboorte = date("U", mktime(0, 0, 0, $maand, $dag, $jaar));
$tijdertussen = $nu - $geboorte;
?>
Link gekopieerd
?
Onbekende gebruiker
30-05-2004 16:07
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
Link gekopieerd
$maand $dag en $jaar moet dan dus de geboorte datum zijn he?
Link gekopieerd
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
Link gekopieerd
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...
Link gekopieerd
Nee hoor. Voor de epoch krijg je negatieve getallen, het verschil blijft absoluut.
Link gekopieerd
?
Onbekende gebruiker
02-06-2004 13:28
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";
?>
Link gekopieerd
@Roy
Ik zal het eens proberen, alvast bedankt Roy...
Ik ben (helaas) niet zo thuis in klassen en objecten
JOHN
Link gekopieerd
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..
Link gekopieerd