Я согласен с @treeface.Используйте jQUery DatePicker, но используйте формат даты, локализованный для пользователей вашей страны.Со мной случилось, что во всем мире люди используют разные форматы времени.Обратите на это внимание.Вы можете сохранить это время в своей базе данных, используя MySQL DATE (ГГГГ-ММ-ДД), DATETIME (ГГГГ-ММ-ДД ЧЧ: ММ: СС) или UNIX TIMESTAMP.Сравнивать даты легко, об этом можно прочитать множество сценариев.Используйте вашего контролера для отправки данных в вашу модель, сравнения и возврата ИСТИНА / ЛОЖЬ в зависимости от результата.С этим логическим значением вы можете показать результаты своему пользователю.Кроме того, вы можете сделать это с помощью jQuery.Отправьте выбранную дату на сервер, сравните и верните ответ JSON с состоянием и статусом OK / NOTOK.
Например:
<head>
....
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<link rel="stylesheet" href="path/to/jquery-ui-1.8.4.css" type="text/css" media="screen" />
<script type="text/javascript" src="path/to/jquery-ui-1.8.4.min.js"></script>
....
</head>
<script type="text/javascript">
$("input#datepicker").datepicker({
showOn: 'both',
buttonImageOnly: true,
buttonImage: 'images/calendar-trans.png',
firstDay: 1,
dateFormat: "dd/mm/yy", // Select a time format that suits you
changeMonth: true,
changeYear: true,
onSelect: function(dateText, inst) {
$.post(url+"/calendar/check_date/",
{
date_selected: $("input#datepicker").val();
},function(data){
if(data.status != 'OK'){
alert('Your date is wrong. Try again!');
}
});
}
});
</script>