Difference de date PHP

Résolu/Fermé
Profil bloqué - Modifié par irongege le 1/08/2011 à 00:20
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 - 30 juil. 2011 à 11:13
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

prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
30 juil. 2011 à 11:13
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
unix91 Messages postés 22 Date d'inscription vendredi 29 juillet 2011 Statut Membre Dernière intervention 26 août 2011 7
30 juil. 2011 à 00:37
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)
...
0