Введите дату начала членства в школе либо введенная дата некорректна

Обновлено: 05.07.2024

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

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

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

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

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

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

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

Примеры

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

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

  • 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(месяц, день, год), в которую и подставляем наши данные.

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

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 – тоже некорректная.



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

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

МУТАЦИЯ Искусственный Интеллект (582580) формат даты правильно бьёшь?

Серьёзно! Надо вести дату из будущего. Дату будущеё регистрации якобы. ( ¬_ლ)

Сам решил. Выше не был заполнен год рождения и ошибка в снилсе

не могу ввести дату рождения пишет не коректно введена

Введи дату не из прошлого, а из БУДУЩЕГО. При временной регистрации мне это помогло.

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

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

Я разрабатываю форму, в которой пользователи должны вводить дату начала и окончания. Как убедиться, что дата окончания позже даты начала? Я планирую уведомлять пользователей, показывая скрытое предложение, когда их вводимые данные неверны.

3 ответа

Вот пример реализации. Все, что вам нужно сделать, это найти способ взять входные значения и превратить их в Дата. Оттуда вы можете использовать метод .valueOf() , который возвращает вам отметку времени, которую вы можете использовать для сравнения, какая дата наступает раньше.

Вы можете сравнивать даты в javascript с такими операторами, как ,> = с функцией getTime (). Если вы используете реакцию, вы можете сделать это так

Что ж, вы можете сравнить, изменится ли значение даты начала и даты окончания после изменения с помощью useEffect, или вы можете сравнить после отправки формы

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

ИЗМЕНИТЬ

Если вы хотите знать, где использовать эту функцию, вы не знаете, что делаете. Используйте его в своей функции проверки перед отправкой формы или, возможно, с событием blur последнего ввода. Есть много способов сделать это. И первый добрый :)

Даны натуральные числа a, b, c, которые обозначают число, месяц, год. Проверить корректность даты. Напpимеp: дата 30.02.1998 некорректна. Найти номер этого дня с начала года. + Меню в программе.

Проверка корректности даты.
Ребят,вот есть такая задача : Нужно сделать проверку корректности введеной даты. Пример : дата.


Проверка корректности даты
Заданы 2 числа DD и ММ. Проверьте, может ли число ММ быть номером месяца, а число DD - номером дня.


Проверка корректности даты
Необходимо проверить является ли заданная дата (число, месяц, год) корректным числом с учётом.

Читайте также: