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 :

Perte de temps dans le cumul des heures


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut Perte de temps dans le cumul des heures
    Bonsoir,

    J'ai fait une fonction pour cumuler des heures

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function cumulHeures($heure1,$heure2)
    {
    	$tabheure = explode(":", $heure1);
    	$time1 = mktime($tabheure[0],$tabheure[1], 0, 0, 0, 0);
    	$tabheure = explode(":", $heure2);
    	$time2 = mktime($tabheure[0],$tabheure[1], 0, 0, 0, 0);
    	$nbrHeures=$time1+$time2+3600;//Ajout d'une heure
    	return strftime("%H:%M",$nbrHeures);
    }
    Tout fonctionne bien, jusqu'à ce que le cumul passe les 24 heures et dans ce cas, il repart à 0

    Exemple 20H00 + 6H45 = 2H45

    Je ne vois pas comment récupérer cette tranche de 24 H

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Par défaut
    Et bien c'est normal, tu passe un jour !
    Qu'est ce que tu souhaites exactement ?

  3. #3
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Je souhaite connaître le nombre de jours que je saute.

  4. #4
    Membre éprouvé Avatar de Cyberbob002
    Inscrit en
    Mai 2003
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 140
    Par défaut
    La solution que j'ai posté dans ton autre post ne te convient pas ?

  5. #5
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Citation Envoyé par Cyberbob002
    La solution que j'ai posté dans ton autre post ne te convient pas ?
    Comme j'avais marqué "résolu", j'avais reposté le problème entre temps.

    Je test ta soluce de suite.

  6. #6
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Effectivement, avec cette méthode, je ne perds plus les tranches de 24H.

    Pour être complet, j'ai apporté quelques modifications. En effet, je peux avoir des heures à 0.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function cumulHeures($heure1,$heure2)
    {
    	$time1=explode(":",$heure1);
    	$time2=explode(":",$heure2);
    	$heure=0;
    	$minute=0;
    	if(empty($time1[1]) && !empty($time2[1])){$heure=intval(($time2[1])/60);$minute = $time2[1] - ($heure * 60);}
    	if(!empty($time1[1]) && empty($time2[1])){$heure=intval(($time1[1])/60);$minute = $time1[1] - ($heure * 60);}
    	if(!empty($time1[1]) && !empty($time2[1])){$heure = intval(($time1[1] + $time2[1]) / 60 );$minute = $time1[1] + $time2[1] - ($heure * 60);}
    	return ($time1[0] + $time2[0] + $heure).":".$minute;
    }
    Par contre, j'ai une erreur sur les minutes. Si j'ai 18:00, il ne garde que 18:0

    Je perds le dernier 0

    Quoi est-ce ?

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/12/2013, 01h16
  2. [SQL2008] temps d'attente cumulés des Lock
    Par castorameur dans le forum Administration
    Réponses: 2
    Dernier message: 12/11/2011, 18h30
  3. perte du systray dans la barre des tâches
    Par miltone dans le forum Linux
    Réponses: 0
    Dernier message: 08/10/2008, 22h44
  4. perte de temps dans une procédure
    Par lazzeroni dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/11/2006, 16h05
  5. cumul des heures de travail
    Par laklak dans le forum Bases de données
    Réponses: 20
    Dernier message: 08/05/2006, 13h52

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