Difference de date PHP [Résolu/Fermé]

Signaler
-
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
-
Bonjour,
Je voulais savoir, juste comment faire pour que:
si date qui est contenue dans le fichier texte date.txt

est plus grande que la date d'aujourd'hui.
afficher oui. si non ,afficher non
voila

en gros une éspèce de "if (date(d-m-Y) > $date) {...}

j'ai éssayé avec datetime mais dans les deux cas sa me retourne une valeur positive
voilà, merci d'avance.

2 réponses

Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
429
Tu peux aussi travailler avec des objets dateTime

<?php
    $date1 = new DateTime(date('D-m-y H:i', time()));
    $date = new DateTime(date('D-m-y H:i', time() - 5000));
    if($date->diff($date1)->invert){
        print 'apres';
    }else{
        print 'avant';
    }
    
?>
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
22
Date d'inscription
vendredi 29 juillet 2011
Statut
Membre
Dernière intervention
26 août 2011
7
Salut

À mon avis, le plus simple est d'utiliser les timestamp (ie, le nombre de secondes écoulées depuis le 1er janvier 1970).
Pour ça, il faut :

1. Récupérer la date dans ton fichier, et la convertir sous forme de timestamp à l'aide de la fonction mktime() -> pour les paramètres à passer à cette fonction, cherche sur google, tu trouveras.
2. Récupérer le timestamp courant. Ça se fait au moyen de la fonction time(), sans paramètres.
3. Comparer les deux

En résumé :

// $heures, $minutes, ... sont à récupérer dans ton fichier
// je ne sais pas sous quel format tu as enregistré ça

$date = mktime($heures,$minutes,$secondes,$mois,$jour,$annee);
$date_courante = time();
if ($date > $date_courante)
...