preload
Aug 05

Ein Datum kann, abhängig von der Maske, in der es angegeben werden muss, richtig sein, also bspw. 11.11.1998 oder 2004-04-05. Ein korrekt formatiertes Datum muss aber nicht zwangsweise auch existieren, wie bspw. 2009-02-31, also der 31. Februar 2009. Hierfür kann die PHP-Funktion checkdate($iMonth, $iDay, $iYear) verwendet werden, die ein gregorianisches Datum auf Gültigkeit prüft. Bevor die Funktion aufgerufen werden kann, muss die Datums-Zeichenkette in ihre einzelnen Teile zerlegt werden, also bspw. wie folgt:

<?php
  $iYear = intval(...);
  $iMonth = intval(...);
  $iDay = intval(...);
?>

Nun lässt sich mit checkdate einfach prüfen, ob das Datum wirklich gültig ist:

<?php
  $bDateIsValid = checkdate($iMonth, $iDay, $iYear);
?>

Zu beachten ist, dass checkdate laut Definition Integerwerte erwartet.