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 :

soustraction timestamp avec une heure en trop ?


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 265
    Points : 53
    Points
    53
    Par défaut soustraction timestamp avec une heure en trop ?
    Bonjour

    Je cherche a connaitre l'ecart en minutes et seconde de deux timestamp, j'ai l'impression que cela fonctionne, mais il me rajoute une heure a chaque fois..

    Est-ce du au changement d'heure ? et si oui comment reglé le probleme ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $maintenant = time();
    $heu = mysql_query("SELECT * FROM heure WHERE id_patient = '$id_membres' LIMIT 1 ");
    $heure = mysql_fetch_array($heu);
    $heurearr = $heure['temps'];
    $attente = date("H:i",$maintenant - $heurearr);
    echo $attente;
    si quelqu'un pouvait m'eclairer, ca serait sympa..

    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2007
    Messages : 469
    Points : 525
    Points
    525
    Par défaut
    Bonjour,

    En faisant un date("H:i"); il t'affiche une heure de plus ?
    Tu as un serveur dédié ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 265
    Points : 53
    Points
    53
    Par défaut
    non en demandant l'heure au serveur j'obtiens la bonne heure..

    et c'est un serveur mutualisé

  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
    Tu as un exemple avec des valeurs ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 265
    Points : 53
    Points
    53
    Par défaut
    oui voila ce qu'il me retourne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $attente = date("H:i",1299157211 - 1299153749);
    echo $attente;
    ce qui fait : 1h50

  6. #6
    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
    date() affiche des dates, il ne calcule pas des temps

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $diff = 1299157211 - 1299153749;
    $attente = floor($diff/3600) . "h" . ($diff/60)%60;

  7. #7
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Salut,
    Pourquoi ne pas utiliser les fonctions dédiées à ces opérations ? (date_diff par exemple)

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 265
    Points : 53
    Points
    53
    Par défaut
    ta solution marche bien sabotage..

    Juste une question pour 4h02 il affiche 4h2 il y a un moyen de l'avoir sous la forme 4h02 ?

  9. #9
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $diff = 1299157211 - 1299153749;
    $attente = sprintf("%02d",floor($diff/3600))  . "h" . sprintf("%02d",($diff/60)%60);
    Mais comme te l'as dit Thes, si tu bénéficie de PHP5.3 utilise date_diff()

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 265
    Points : 53
    Points
    53
    Par défaut
    super, merci

    et non pas de php 5.3

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/02/2011, 23h32
  2. Réponses: 1
    Dernier message: 16/10/2010, 12h05
  3. [Date] Une heure en trop
    Par muad'dib dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 08/08/2007, 09h20
  4. Réponses: 6
    Dernier message: 17/04/2007, 11h34
  5. Multiplier une date avec une heure
    Par tazmania dans le forum Access
    Réponses: 8
    Dernier message: 29/12/2006, 10h21

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