Достаточно часто в PHP приходится проверять дату на корректность . Например, проверить дату рождения, введённую пользователем. Проверок, на самом деле, очень много. Тут нужно проверить, чтобы не было 13-го или 0-го месяца , чтобы не было 31-го июня или 30-го февраля . С другой стороны, 31 июля быть может. Таким обра...

Проверка корректности даты в PHP

Достаточно часто в PHP приходится проверять дату на корректность. Например, проверить дату рождения, введённую пользователем. Проверок, на самом деле, очень много. Тут нужно проверить, чтобы не было 13-го или 0-го месяца, чтобы не было 31-го июня или 30-го февраля. С другой стороны, 31 июля быть может. Таким образом, проверка даты на корректность в PHP является непростой задачей. Однако, делается это всё с помощью одной строчки.

В PHP есть одна замечательная функция, которая называется checkdate():

<?php
  /* Эти данные могут прийти, например, из отправленной формы */
  $day = 31;
  $month = 6;
  $year = 2012;
  if (checkdate($month, $day, $year)) echo "Дата корректная";
  else echo "Дата некорректная";
  echo "<br />";
  $day = 31;
  $month = 7;
  $year = 2012;
  if (checkdate($month, $day, $year)) echo "Дата корректная";
  else echo "Дата некорректная";
?>

Поскольку 31-го июня не существует, функция checkdate() вернулся false, а вот 31-е июля существует, поэтому было возвращено true.

Вот такая простая в применении функция выполняет очень сложную проверку, тем самым, облегчая жизнь программисту.