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 :

Calcul du temps entre deux dates


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2013
    Messages : 31
    Points : 23
    Points
    23
    Par défaut Calcul du temps entre deux dates
    Bonjour,
    Voilà j'ai une fonction qui calcule le temps entre deux date qui fonctionne à moitié. Un texte qui a été publier lundi, elle m'affiche "A l'instant" et un texte publié il y a 3 semaines, elle m'affiche "Publié il y a 2 semaines" ou encore un autre texte publié il a 25min reste bloquer sur "Publié il y a 22 minutes".
    Je ne trouve pas mon erreur =/ Un peu de mal avec les dates...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function Timeago($i)
     {
      $m = time()-$i; 
      $o='A l\'instant';
      $t = array('an'=>29030400,'moi'=>2419200,'semaine'=>604800,'jour'=>86400,'heure'=>3600,'minute'=>60,'seconde'=>1);
      foreach($t as $u=>$s){
       if($s<=$m){
        $v=floor($m/$s); 
        $o="Publié il y a $v $u".($v==1?'':'s').''; break;
       }
      }
      return $o;
     }
    Les dates sont enregistré de cette manière dans mes tables : 2013-12-01 18:28:18
    J'espère trouvez de l'aide, car mon problème est assez gênant :s
    Merci d'avance et bonne soirée à vous !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Sans savoir ce qu'est $i c'est difficile de dire ce qui ne marche pas dans ton code.

    Cependant il existe des fonctions PHP pour faire ce que tu fais :
    http://www.php.net/manual/fr/function.date-diff.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2013
    Messages : 31
    Points : 23
    Points
    23
    Par défaut
    $i = la date enregistrer dans la table donc par exemple : 2013-12-01 18:28:18

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comme ça alors ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $m = time()-strtotime($i);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/09/2010, 17h47
  2. Calculer la différence entre deux dates
    Par drthodt dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 18/12/2007, 08h27
  3. Requête pour calculer le temps entre deux dates
    Par Badboy62cfp dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 13h50
  4. [VBA] Calculer la différence entre deux dates
    Par T'chab dans le forum Access
    Réponses: 13
    Dernier message: 11/05/2006, 15h12

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