[20, 02, 1900]
// (int) -> macht die variable in ein zahl
$tag = (int) $datum_array[0];
$monat = (int) $datum_array[1]; // bsp 02 => 2
$jahr = (int) $datum_array[2];
// echo gettype($tag) => gibt den type von der varible
// SCHALTJAHR??
$istSchaltJahr = false;
// && => UND
// || => ODER
if ($jahr % 4 == 0 && $jahr % 100 != 0 || $jahr % 400 == 0){
$istSchaltJahr = true;
}
// MONATE
switch ($monat){
// Monate mi 31 Tagen:
case 1: case 3: case 5: case 7: case 8:case 10: case 12:
$tage_max = 31; break;
// Monate mit 30 Tagen:
case 4: case 6: case 9: case 11:
$tage_max = 30; break;
// Februar
case 2: // Prüfen Schaltjahr
if (!$istSchaltJahr) $tage_max = 28;
else $tage_max = 29;
break;
default: $tage_max = -1; // Fehlerfall
}
echo " Der Monat ".$monat."-te hat Monat hat ". $tage_max. "Tage
";
// Eigentliche Überprüfung
$datumIstGueltig = false;
if(
$tag >= 1 && $tag <= $tage_max
&& $monat >= 1 && $monat <= 12
&& $jahr >= 0 && $jahr <= 3000)
{
$datumIstGueltig = true;
}
if ($datumIstGueltig) echo "Das Datum '$datum' ist gültig!
";
else echo "Das Datum '$datum' ist ungültig
";
?>