Scripts

Leeftijd bepalen

Een simpele functie om de leeftijd te bepalen aan de hand van een geboortedatum. Voor zover ik gezien heb was die nog niet toegevoegd op de site. Sorry anders :)

leeftijd-bepalen
<?
function age($birthDate) {
	list($year, $month, $day) = explode('-', $birthDate);
	$ageOfPerson = date('Y') - $year;
	if ($month > date('m')) {
		$ageOfPerson--;
	}
	if ($month == date('m') && $day > date('d')) {
		$ageOfPerson--;
	}
	$ageOfPerson .= ' jaar';
	return $ageOfPerson;
}
?>

Je moet de datum dus wel invoeren als YYYY-MM-DD, als je DD-MM-YYYY wil gebruiken moet je de regel:

<?
	list($year, $month, $day) = explode('-', $birthDate);
?>

vervangen door:

<?
	list($day, $month, $year) = explode('-', $birthDate);
?>

Een iets uitgebreidere versie is deze, die ook aangeeft dat de persoon op die dag jarig is als dat dus zo is.

<?
function age($birthDate) {
	list($year, $month, $day) = explode('-', $birthDate);
	$ageOfPerson = date('Y') - $year;
	$birthDay = 'Vandaag '.$ageOfPerson.' geworden!';
	if ($year < date('Y') && $month == date('m') && $day == date('d')) {
		$ageOfPerson = $birthDay;
	}
	else {
		if ($month > date('m')) {
			$ageOfPerson--;
		}
		if ($month == date('m') && $day > date('d')) {
			$ageOfPerson--;
		}
		$ageOfPerson .= ' jaar';
	}
	return $ageOfPerson;
}
?>

Voor degene die het leuk vinden dan nog een versie die zelfs aangeeft of de persoon die dag geboren is, of eventueel nog geboren moet worden :P

<?
function age($birthDate) {
	list($year, $month, $day) = explode('-', $birthDate);
	$ageOfPerson = date('Y') - $year;
	$notBorn = 'Nog niet geboren!';
	$bornToday = 'Vandaag geboren!';
	$birthDay = 'Vandaag '.$ageOfPerson.' geworden!';
	if (($year > date('Y')) || ($year == date('Y') && $month > date('m')) || ($year == date('Y') && $month == date('m') && $day > date('d'))) {
		$ageOfPerson = $notBorn;
	}
	elseif ($year == date('Y') && $month == date('m') && $day == date('d')) {
		$ageOfPerson = $bornToday;
	}
	elseif ($year < date('Y') && $month == date('m') && $day == date('d')) {
		$ageOfPerson = $birthDay;
	}
	else {
		if ($month > date('m')) {
			$ageOfPerson--;
		}
		if ($month == date('m') && $day > date('d')) {
			$ageOfPerson--;
		}
		$ageOfPerson .= ' jaar';
	}
	return $ageOfPerson;
}
?>

De meesten zullen wel weten hoe de functie gebruikt moet worden, maar voor de volledigheid zet ik het er nog maar bij.

<?
$geboorteDatum = '1984-12-01';
echo age($geboorteDatum);
?>

Geeft als output netjes: "19 jaar" (Op 27/08/2004 tenminste :P).

Reacties

0
Nog geen reacties.