<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Convertir Heures ==> mois + jours + heures</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8">
<meta http-equiv="expires" content="0">
<style type="text/css">
input {
text-align: right;
}
table, tr, th, td{
text-align:center;
border: solid 1px;
margin: 0px 0px 0px 0px;
padding:3px;
}
</style>
<?php
define('HEURES_JOUR', 24);
define('JOURS_MOIS', 30);
define('HEURES_MOIS', HEURES_JOUR * JOURS_MOIS);
?>
</head>
<body>
<?php
if(isset($_POST["nbrHeures"])){
$mois = 0;
if(is_int($_POST["nbrHeures"] * 1)){
$nbrHeures = $_POST["nbrHeures"] * 1;
$heures = $nbrHeures % HEURES_JOUR;
if($nbrHeures >= HEURES_MOIS){
$mois = floor($nbrHeures / HEURES_MOIS);
}
$nbrHeures -= $mois * HEURES_MOIS;
$jours = floor($nbrHeures / HEURES_JOUR);
echo '
<table>
<tr><th>Mois</th><th>Jours</th><th>Heures</th></tr>
<tr><td>' . $mois . '</td><td>' . $jours . '</td><td>' . $heures . '</td></tr>
</table>';
}
else{
echo ("Données en entrée INVALIDES");
}
}
?>
<form name="frm" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
<input name="nbrHeures" type="text" value="Heures" />
<input type="submit" name="valid" value="Convertir" />
</form>
</body>
</html>
Hé hé... je sais, mais c'est tout le principe de la fonction publique : demander au chargé de comm' de faire des développements web. Quant aux augmentations ? le salaire au mérite n'existe (malheureusement) pas encore ici...C'est pas plus compliqué que ça à mettre en place et si un jour ta direction te demande d'inclure les semaines ou de tout passer en secondes tu sauras le faire. Tu n'auras ainsi plus besoin de demander à quelqu'un de bénévole de te filer un script pour lequel tu es payé, et tu pourras en profiter pour te justifier d'une augmentation
Enorme, lol.Tu veux savoir combien de jours font 35h ? C'est ça ?
Pour le modulo, c'est tout simplement le reste de la division euclidienne, par opposition au quotien.. ben quoi ? 8-[Merci tout de même pour tes explications. J'ai pas tout pigé (le modulo par exemple) et ça m'a mis plus de doutes qu'autre chose (8h ou 24 ?)
Code : Tout sélectionner
echo "<p>Voici le résultat de mes savants calculs. Vous avez entré ".$_POST['nbrHeures']." heures. En fonction de la période que vous avez sélectionné, cela donne : <p>";
echo "<p>";
// ANNEE -------------------------------------------
$annees = $_POST['nbrHeures'] / (360 * $_POST['valeur']);
$annees = ((int) ($annees));
echo $annees." année(s)<br/>";
// modulo année
$rest_annee = $_POST['nbrHeures'] % (360 * $_POST['valeur']);
echo "Il reste : ".$rest_annee." heures après cette opération soit...<br/>";
// MOIS -------------------------------------------
$mois = $rest_annee / (30 * $_POST['valeur']);
$mois = ((int) ($mois));
echo $mois." mois<br/>";
// modulo mois
$rest_mois = $rest_annee % (30 * $_POST['valeur']);
echo "Il reste : ".$rest_mois." heures après cette opération soit...<br/>";
// JOURS -------------------------------------------
$jours = $rest_mois / $_POST['valeur'];
$jours = ((int) ($jours));
echo $jours." jours<br/>";
// modulo jours
$rest_jours = $rest_mois % $_POST['valeur'];
echo "Il reste : ".$rest_jours." heures après cette opération. Insuffisant pour faire une journée<br/>";
echo "</p>";