Discussion:
Probleme d'arrondi d'heures / minutes
(trop ancien pour répondre)
kalimbra
2007-03-13 22:30:48 UTC
Permalink
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.
Olivier Miakinen
2007-03-14 06:36:56 UTC
Permalink
Post by kalimbra
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
2007-03-16 13:19:30 UTC
Permalink
Post by Olivier Miakinen
Post by kalimbra
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/
Continuer la lecture sur narkive:
Loading...