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] difference entre 2dates


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Points : 110
    Points
    110
    Par défaut [Dates] difference entre 2dates
    bonsoir,

    voila en fait je voudrais afficher le temps entre 2dates.
    je m'explique , a la connection j'insere en db une donnée ( time() ) dans un champsvarchar . Ensuite je calcule le temps actuele par time() en le soustrayant avec la donnée en db qui donne donc la difference entre les 2 ( appelons $diff ) .
    J'insere la donnée et je travail avec time() , j'ai deja tenter avec current_time() , mais hormis ce "chrono" , j'utilise les infos pour d'autres actions , qui apres teste ne fonctionne que avec ce type de solution , donc je ne désire pas changer mes champs .

    Ensuite j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $timed = $diff;
    $h=(int)*$timed/3600 ;
    $timed+= -$h*60    ;
    $min=(int)*$timed/60 ;
    $timed+= -$min*60     ;
    $sec=$timed
    il me donne une parse error au niveau des (int)

    Le but est que j'aimerais afficher 3secondes si la difference est en seconde (donc petite) si $diff=3695 j'aimerais donc afficher 1h 01 min 35sec , si vous avez des solutions ou de la documentation je suis preneur merci

  2. #2
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    essaie cette fonction :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    function intervalCalc($time)
    {
     
       if ($time > 86400)
       { 
           $interval = (($interval_secs - ($time%86400))/86400);
     
           $interval.= " jours - ";
       }
       elseif ($time> 3600)
       {
           $interval = ($time - ($time%3600)/3600);
     
           $interval.= " heures - ";
       }
       elseif ($time > 60)
       {
           $interval = ($time - ($time%60)/60);
     
           $interval.= " minutes - ";
       }
       else
      {
           $interval .= $time . " secondes"
       }
     
       return  $interval;
     
    }
    Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Points : 110
    Points
    110
    Par défaut
    merci Yobs

    léger probleme tout de meme , j'obtien ceci apres peut etre 2minutes

    148.51666666667 minutes -

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Points : 110
    Points
    110
    Par défaut
    enfait je vois ce qu'il fait , si la difference est de 90 seconde , il va afficher 1.5minutes , j'aimerais tout de meme savoir la solution de la fonction pour correctement afficher mais je n'ai besoin pour mon application que de savoir le temps approximativement , 0=>59secondes cela marche , apres je vois minute par minute et apres heure par heure , je n'ai pas besoin de voir 1h50min , par exemple.

    Donc j'ai modifier la fonction , mais je voudrais qu'il ne tienne pas compte des chiifres apres la virgule , donc qu'il arrondise vers le bas , 1.4min = 1min



    voici le 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
     function intervalCalc($difference)
    {
     
       if ($difference > 86400)
       {
           $interval = ($difference /86400);
     
           $interval.= " jours - ";
       }
       elseif ($difference> 3600)
       {
           $interval = ($difference /3600);
     
           $interval.= " heures - ";
       }
       elseif ($difference > 60)
       {
           $interval = ($difference/60);
     
           $interval.= " minutes - ";
       }
       else
      {
           $interval = $difference . " secondes"  ;
       }
     
       return  $interval;
     
    }

  5. #5
    Membre éclairé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 082
    Points : 884
    Points
    884
    Par défaut
    Hello a tous ! Moi j'ai un prob... J'aimerais que entre 22h00 et 04h00, on puisse accéder à une page mais que si le visiteur se trouve entre ces deux heures il ne puisse pas... J'ai fais un script (basic et non fonctionnel) mais j'arrive pas avec les heures ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $heure_courante = date ("H:i");
    echo $heure_courante;
     
    $heure_debut = date ("22":"00");
     
    if ($heure_courante < $heure_debut)
    {
    	Vous ne pouvez pas entrez !
    }
    else
    {
    	Vous pouvez venir !
    }
    Il existe un script ou un sujet qui traite de ce prob parce que j'ai pas trouvé ! Merci !
    Les cours: XHTML, CSS, PHP, Flash et Javascript
    Expliquez votre problème clairement et pensez à remercier ceux qui vous ont aidé.
    N'oubliez pas : Le tag résolu est la meilleure des satisfactions sur developpez.com
    Aucune question technique par MP.

Discussions similaires

  1. [Dates] Difference entre deux dates
    Par bsidy1 dans le forum Langage
    Réponses: 2
    Dernier message: 10/06/2009, 13h43
  2. [Dates] difference entre 2 dates
    Par kagura dans le forum Langage
    Réponses: 3
    Dernier message: 26/07/2006, 13h01
  3. Réponses: 2
    Dernier message: 04/04/2006, 10h34
  4. [Dates] difference entre 2 date
    Par byteBoy dans le forum Langage
    Réponses: 12
    Dernier message: 30/03/2006, 14h02
  5. Réponses: 1
    Dernier message: 22/09/2005, 00h30

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