Je suis d'accord avec @treeface. Utilisez DatePicker de jQuery, mais utilisez le format de date localisé pour les utilisateurs de votre pays. Il m'est arrivé, à travers le monde, que les gens utilisent des formats de temps différents. Faites attention à cela. Vous pouvez stocker cette heure dans votre base de données en utilisant MySQL DATE (AAAA-MM-JJ), DATETIME (AAAA-MM-JJ HH: MM: SS) ou UNIX TIMESTAMP. Il est facile de comparer les dates, il y a beaucoup de scripts à lire à ce sujet. Utilisez votre controleer pour envoyer les données à votre modèle, comparez et renvoyez TRUE/FALSE en fonction du résultat. Avec ce booléen, vous pouvez montrer les résultats à votre utilisateur. En outre, vous pouvez accomplir cela en utilisant un jQuery. Envoyez la date sélectionnée au serveur, comparez et renvoyez une réponse JSON avec le statut OK/NOTOK.
Par exemple:
<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>