IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Dates] Pb comparaison d'heures


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2006
    Messages : 35
    Par défaut [Dates] Pb comparaison d'heures
    Bonjour à tous...

    J'aimerai faire des comparaisons entre des heures mais j'ai ça ne fonctionne pas
    En fait je récupère la date/heure de fichiers stockés dans un répertoire donné et si la date est égale à la date du jour alors on fait une compraison sur les heures : si l'heure du fichier est comprise entre l'heure de maintenant et l'heure de maintenant - 10mn, on fait un $session++, sinon on ne fait rien...

    J'ai crée 4 fichiers, et sur ces quatre fichiers il y en a un seul dont l'heure est comprise dans l'intervalle, ms le pb c'est qu'il ne le voit pas et ma variable $session n'est pas incrémentée

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    foreach($tab as $cle => $valeur)
      {
        // Fichier "périmé" donc on le supprime du répertoire:
        if(strtotime(substr($tab[$cle],0,10)) < strtotime(date("d/m/Y")))
          unlink(_PATH_TO_DIR_SESSIONS.$cle);
        else
        {
          $h1 = time(); // Heure actuelle convertie en timestamp UNIX
          $h2 = $h1 - (10*60); // Heure actuelle convertie en timestamp UNIX - 600s
     
          $session = 0;
     
          if( ( $h1 > time( substr( $tab[$cle],11 ) ) ) && ( time( substr( $tab[$cle],11 ) ) > $h2 ) )
            echo $session++;
          else
            echo "on ne fait rien <br/>";
        }
      }
    Et quand je fais un echo de cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $h1." > ".time( substr( $tab[$cle],11 ) )." -- ". time( substr( $tab[$cle],11 ) )." > ".$h2."<br/>";
    j'obtiens :
    1157354174 > 1157354174 -- 1157354174 > 1157353574
    on ne fait rien
    1157354174 > 1157354174 -- 1157354174 > 1157353574
    on ne fait rien
    1157354174 > 1157354174 -- 1157354174 > 1157353574
    on ne fait rien
    1157354174 > 1157354174 -- 1157354174 > 1157353574
    on ne fait rien
    En fait le timestamp de mon heure de fichier est identique au timestamp de l'heure en cours
    Alors si quelqu'un pouvait m'aider un peu...
    Merci d'avance !

  2. #2
    Membre averti
    Inscrit en
    Août 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2006
    Messages : 35
    Par défaut
    Bon en fait j'ai trouvé ^^
    Pour ceux que ça intéresse il fallait utiliser la fonction mktime()...
    et ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $session = 0;
     
      foreach($tab as $cle => $valeur)
      {
        // Fichier "périmé" donc on le supprime du répertoire:
        if(strtotime(substr($tab[$cle],0,10)) < strtotime(date("d/m/Y")))
          unlink(_PATH_TO_DIR_SESSIONS.$cle);
        else
        {
          $h1 = time(); // Heure actuelle convertie en timestamp UNIX
          $h2 = $h1 - (10*60); // Heure actuelle convertie en timestamp UNIX - 600s
          $htab = mktime(substr($tab[$cle],11,2), substr($tab[$cle],14)); // Timestamp de l'heure du fichier
     
          if(($h1 > $htab) && ($htab > $h2)) 
              $session++;
        }
      }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Le type DATE contient aussi les heures
    Par Ryan Sheckler dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/02/2006, 10h03
  2. [Dates] problème Comparaison dates
    Par gwen-al dans le forum Langage
    Réponses: 4
    Dernier message: 06/01/2006, 11h24
  3. [Dates] Jour Mois anné, heure minute et seconde...
    Par SangKou dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2005, 08h34
  4. [Sql Server] Fusion d'une date et d'une heure
    Par Invité dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/07/2005, 14h55
  5. [DATE][TIME] Manque 1 heure
    Par cpr0 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 01/07/2004, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo