Comment valider une date ( année bisextile...

cassy -  
 cassy -
Bonjour,

Qui peut me dire comment valider une date en PHP ( nombre jour dans le mois, année bisextile, ....)

Merci pour vos réponses qui pourront m'aider .

1 réponse

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    1
    1. cassy
       
      bonjour

      merci

      j'ai essayer avec checkdate et cela ne fonctionne pas .
      Le 30/06/2010 est une date invalide

      DOnc je suis tjs au même stade,

      Si vous pouviez me dire que faire ou comment le coder pour que cela fonctionne.
      Merci
      0
    2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      Ça fonctionne parfaitement.
      Chez moi, ce script m'affiche "OK" :
      echo checkdate(6,30,2010) ? 'OK' : 'Pas OK';
      0
    3. cassy
       
      bonjour


      peux tu me dire comment je dois faire pour décomposer le date pour avoir jour, mois et année
      ?

      et alors je vais réessayer et je te tiens au courant

      meci pour toute l'aide que tu m'apportes
      0
    4. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      Voilà un exemple :
      <?php
      $date = "03/06/2010"; // Date au format DD/MM/YYYY
      
      if(preg_match("#^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$#", $date)) {
      	preg_match_all("#(.+)/(.+)/(.+)#", $date, $donnees);
      	$jour = (int) $donnees[1][0];
      	$mois = (int) $donnees[2][0];
      	$annee = (int) $donnees[3][0];
      	
      	if(checkdate($mois, $jour, $annee)) {
      		echo 'Date OK';
      	} else {
      		echo 'Date invalide';
      	}
      } else {
      	echo 'Format de la date invalide.';
      }
      ?>
      0
    5. cassy
       
      Un tout grand merci pour ton aide ! cela fonctionne.

      J'ai une autre petite question:
      le client doit entrer une heure. Peux tu me dire si il y a un moyen de tester le format ( ex: 16h15 et pas 16.15) et si il ne rentre que des chiffres et "h" ?

      merci
      0