Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme d'arrondi d'heures / minutes

2 réponses
Avatar
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.

2 réponses

Avatar
Olivier Miakinen

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.

Avatar
P'tit Marcel
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/