Probleme d'arrondi d'heures / minutes

Le
kalimbra
bonjour,

j'ai un petit problème avec un affichage de temps. J'ai trois données.
Heures (minutes) effectuées, prévues et différence. Mais j'ai quelque
fois 1 heure de différence entre les heures effectuées, et la
différence (entre autre que le prévu est égal à zéro)

Voici mes codes.


Temps effectué

<?php
$TotalHrs = floor ($TotalProjet/60);
$TotalMnRst=$TotalProjet - ($TotalHrs *60);
echo ($TotalHrs.':'.$TotalMnRst); ?>

Temps Estimé

<?php
$TotalHrs1 = floor ($row_GetProjInfo['EstimatifTotal']/60);
$TotalMnRst1=$row_GetProjInfo['EstimatifTotal'] - ($TotalHrs1*60);
echo ($TotalHrs1.':'.$TotalMnRst1); ?>


Différence

<?php
$EstimatifMn = ($row_GetProjInfo['EstimatifTotal'] );
$Difference = $EstimatifMn - $TotalProjet ;

$DifferenceHrs = floor($Difference / 60);
$DifferenceMn = ($Difference - ($DifferenceHrs*60));
if ($Difference > 0){
$CouleurDisp="#006600";
} else {
$CouleurDisp="#CC0000";
}

echo ('<font color='.$CouleurDisp.'>'.$DifferenceHrs.':'.
$DifferenceMn.'</font>');

?>


J'ai essayé avec Floor, Ceil et Round, mais j'ai toujours cette
différence.. aussi un peu d'aide serait la bienvenue.. Merci d'avance.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #73786

j'ai un petit problème avec un affichage de temps. J'ai trois données.
Heures (minutes) effectuées, prévues et différence. Mais j'ai quelque
fois 1 heure de différence entre les heures effectuées, et la
différence (entre autre que le prévu est égal à zéro)

[...]

<?php
$EstimatifMn = ($row_GetProjInfo['EstimatifTotal'] );
$Difference = $EstimatifMn - $TotalProjet ;

$DifferenceHrs = floor($Difference / 60);
$DifferenceMn = ($Difference - ($DifferenceHrs*60));
[...]
?>

J'ai essayé avec Floor, Ceil et Round, mais j'ai toujours cette
différence.. aussi un peu d'aide serait la bienvenue.. Merci d'avance.


Est-ce que par hasard le problème ne surviendrait pas que lorsque la
différence est négative ? Je te conseille de tester d'abord si elle
est positive ou négative. Dans le second cas, tu fais les calculs avec
abs($Difference), et c'est seulement à la fin que tu rétablis le signe.

P'tit Marcel
Le #73529
J'ai essayé avec Floor, Ceil et Round, mais j'ai toujours cette
différence.. aussi un peu d'aide serait la bienvenue.. Merci d'avance.


Est-ce que par hasard le problème ne surviendrait pas que lorsque la
différence est négative ? Je te conseille de tester d'abord si elle
est positive ou négative. Dans le second cas, tu fais les calculs avec
abs($Difference), et c'est seulement à la fin que tu rétablis le signe.


Rappelons que la fonction floor ne correspond pas à l'extraction des
chiffres avant la virgule. Par exemple, floor(-3.5) donne -4.

Pour récupérer la fraction entière, le plus simple est de convertir :

$partie_entiere = (int) $nombre


eça
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/


Publicité
Poster une réponse
Anonyme