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] Différence entre deux heures


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 149
    Points : 48
    Points
    48
    Par défaut [Dates] Différence entre deux heures
    Bonjour,
    je souhaite afficher la différence entre deux heures :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // On récupère le timestamp de l'execution de 18h
    $prochaine=mktime(18);
     
    // On soustrait le résultat obtenu à l'heure actuelle
    $delais = time() - $prochaine;
     
    // On affiche le tout formater
    echo "Prochaine execution dans : ".date("format", $delais);
    Cela m'affiche une valeur comme 23:00:00 fixe.

    L'interêt du script est le suivant :

    J'ai un script qui se réalise automatiquement toutes les 3h. (12h , 15h , 18h ...)
    Ce code permet d'afficher le temps restant avant que le script ne s'effectue sous forme H:i:s

    Merci

  2. #2
    Membre actif Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 224
    Points
    224
    Par défaut
    Bonjour,

    Pour la prochaine heure, je te conseille de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $prochaine = mktime(18, 0, 0);
    En effet, sinon il remplira les minutes et les secondes par celle de la date courante. (donc au lieur d'avoir 2h30 tu aurais eut juste 2h.)

    http://fr3.php.net/manual/fr/function.mktime.php
    Les arguments peuvent être omis, de droite à gauche, et tous les arguments manquants sont utilisés avec la valeur courante de l'heure et du jour.

    De plus, le time sera négatif. En effet tu soustrais le timestamp courant a un timestamp future (donc plus grand).

    Il faut donc faire -$delais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "Prochaine execution dans : ".date("h i s", -$delais);
    Reste a faire la gestion des heures (s'il est 19h ce script ne fonctionnera pas, il faudra faire day + 1).

    Bonne chance,
    Paul

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 149
    Points : 48
    Points
    48
    Par défaut
    Merci beaucoup cela fonctionne

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/02/2009, 14h54
  2. Différence entre deux heures en minutes ?
    Par moi&dev dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 27/08/2007, 11h39
  3. problème différence entre deux heures
    Par gwenhael dans le forum Langage
    Réponses: 2
    Dernier message: 14/09/2006, 15h16
  4. Réponses: 7
    Dernier message: 05/07/2006, 16h29
  5. [Dates] Calcul d'une différence entre deux heures
    Par loreleï85 dans le forum Langage
    Réponses: 12
    Dernier message: 28/06/2006, 11h43

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