Что значит корректная дата

Что значит корректная дата

(PHP 4, PHP 5, PHP 7)

checkdate — Проверяет корректность даты по григорианскому календарю

Описание

Проверяет корректность даты по переданным аргументам. Дата считается корректной, если все параметры принимают допустимые значения.

Список параметров

Месяц. Принимает значения от 1 до 12 включительно.

День. Принимает значения, допустимые для указанного месяца month . При этом учитывается, является ли год year високосным.

Год. Принимает значения от 1 до 32767 включительно.

Возвращаемые значения

Возвращает TRUE , если проверяемая дата является корректной, или FALSE в противном случае.

Примеры

Пример #1 Пример использования функции checkdate()

Результат выполнения данного примера:

Смотрите также

  • mktime() — Возвращает метку времени Unix для заданной даты
  • strtotime() — Преобразует текстовое представление даты на английском языке в метку времени Unix

Очень часто при работе с датами требуется соблюдать их формат. Это может пригодиться в БД, где даты обычно сохраняются в строгом формате Y-m-d или при передачи команды через API какого-нибудь сервиса.

Самым понятным для человека считается формат даты: дд.мм.гггг — date("d.m.Y"). Давайте сделаем форму, в которой пользователь вводит в свободном порядке дату своего рождения, а с помощью php скрипта мы проверим, насколько правильно он это сделал:

Теперь создадим событие, которое будет получать данные из формы (поле dates) и проверять его:

Из подробных комментариев к коду, я думаю вы поняли принцип проверки даты. Но все равно объясню некоторые моменты.

  • preg_replace() — позволяет пропускать через input только цифры и точку — именно из этих символов и будет состоять наша дата. Если такая проверка вам не нужна, просто замените строку на эту: $test_data = $_POST[‘dates’];
  • Далее формируем массив, где в $test_data_ar[0] — день, $test_data_ar[1] — месяц, $test_data_ar[2] — год.
  • На последнем шаге делаем проверку с помощью функции (checkdate(месяц, день, год), в которую и подставляем наши данные.
Читайте также:  Ipower ip 300w p4

Посмотрите примеры тестов дат на корректность:

20.10.2003 => корректно
20.10.2003 => корректно
20.12.2204 => корректно
20.12.2 0 04 => корректно (20.12.2004)
20.15.2004 => не корректно (не существует 15 месяца)
202.12.2004 => не корректно (не бывает 202 дня в месяце)

Вот такой у меня получился код проверки даты. Его легко можно добавить в функцию и проверять данные пользователя. Бонусом, покажу пример, с помощью которого можно менять формат даты. Предположим, мы получили дату в формате дд.мм.гггг, но в БД нам нужно сохранить ее в таком виде: гггг-мм-дд. Для этого используем такое преобразование: $dates = date("Y-m-d", strtotime($_POST["dates"]));

Уважаемая Наталья, к сожалению, на сайте существовала проблема с отображением выпадающих списков значений. В настоящее время данная проблема устранена.
Чтобы ввести дату рождения, необходимо выбрать день, месяц и год, используя выпадающее меню.

Приносим Вам извинения за доставленные неудобства.

С уважением, служба поддержки.

Ввела дату рождения 19/09/1979 — написано некорректная дата, ввела 19.09.1979 — тоже некорректная.

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

Если данное меню не появилось у Вас при регистрации, пожалуйста, воспользуйтесь другим браузером при регистрации а так же сообщите нам, в каком браузере возникла ошибка. Мы направим проблему техническим специалистам.

Ссылка на основную публикацию
Adblock detector