Manipuler les heures en php

lsamsoumal Messages postés 36 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 27 octobre 2011 - 7 mai 2009 à 12:38
lsamsoumal Messages postés 36 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 27 octobre 2011 - 8 mai 2009 à 15:06
Bonjour tout le monde.
j'ai deux variables contenant des dates de la forme "hh:mm:ss" nommées $Total et $nb_heures_nominales dont je veux calculer le pourcentage
($Total/$nb_heures_nominales) et le mettre dans $ind1
j'ai fait le code suivant mais ca ne marche pas correctement:
$ind1=(strtotime($Total)/strtotime($nb_heures_nominales))*100;
par exemple si $Total=02:00:00 et $nb_heures_nominales=08:00:00
le résultat sera 99.998260420804
Est ce que quelqu'un peut m'aider à corriger mon code?
Merci d'avance.

3 réponses

cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
8 mai 2009 à 14:59
Bonjour,

Comme ça :
<?php
$total = '02:00:00';
$nb_heures_nominales = '08:00:00';

list($heure, $minute, $seconde) = explode(':', $total);
$totalSec = ($heure * 3600) + ($minute * 60) + $seconde;

list($heure, $minute, $seconde) = explode(':', $nb_heures_nominales);
$nb_heures_nominales_Sec = ($heure * 3600) + ($minute * 60) + $seconde;

echo (($totalSec / $nb_heures_nominales_Sec) * 100) . ' %';
?>
Résultat => 25 %
0
cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
8 mai 2009 à 15:04
En plus propre :
<?php
function calcSeconde($temps)
{
list($heure, $minute, $seconde) = explode(':', $temps);
return ($heure * 3600) + ($minute * 60) + $seconde;
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
$total = '02:00:00';
$nb_heures_nominales = '08:00:00';

$totalSec = calcSeconde($total);
$nb_heures_nominales_Sec = calcSeconde($nb_heures_nominales);

echo (($totalSec / $nb_heures_nominales_Sec) * 100) . ' %';
?>
0
lsamsoumal Messages postés 36 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 27 octobre 2011
8 mai 2009 à 15:06
Merci bien jeca
0
Rejoignez-nous