Comment faire des If else avec les DATES

Résolu
jacobmax -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'aimerais ajouter un script de vérification de la validité une pièce d'identité dans mon app mais PHP ne reconnait pas les dates et les transforment en nombre à calculer.

Voici mon script:

$dateDuChamp=2018-10-13; //Date d'expiration de la carte
$todayDate=2017-10-13; //Date d'aujourd'hui

if ($dateDuChamp <= $todayDate){

echo "La pièce d'identité est valide";

} else {

echo "La pièce d'identité a expiré";
}

//Résultat: la pièce d'identité à expiré
//De plus les dates sont considéré comme des nombres donc 2017 (-) 10 (-) 13 = 1994
Pouvez-vous m'aider SVP?

2 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, moi je ferais:
    $dateDuChamp = mktime(0, 0, 0, 10, 13, 2018) ;
    $todayDate = mktime(0, 0, 0, 10, 13, 2017) ;
    0
    1. jacob-max
       
      Merci de votre reponse mais la date est généré sous ce format: 2018-10-13 par HTML5(input type=date)
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,
    Tu peux utiliser du strtotime
    ou sinon l'objet DateTime

    par exemple :

    if (strtotime($date2) > strtotime($date1)) {
    
    


    $dateDuChamp="2018-10-13"; //Date d'expiration de la carte
    $todayDate="2017-10-13"; //Date d'aujourd'hui 
    $date1 = new DateTime($todayDate);
    $date2 = new DateTime($dateDuChamp);
    if ($date12 <= $date1 ){
      echo "La pièce d'identité est valide";
    } else {
      echo "La pièce d'identité a expiré";
    } 
    

    0