Convertir nombre decimal en heure minute seconde

BapPro Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,
J'ai cette requete
$qry1=" SELECT Sum(TIME_TO_SEC( TIMEDIFF(EndTime, StartTime))/3600) as HoursWorked
 FROM qbreplace.timesheet_prod
  where ProductionDate >= '".$date."' and ProductionDate <= '".$date1."' and Client = '".$cod."' and EndTime!='00:00:00' "; 


$res1 = @mysqli_query($dbc, $qry1);


 if ($res1) {
          while($d=mysqli_fetch_array($res1))
            {
			
          echo"<tr class=\"acccb\">
			
            
			<th class=\"a1cb\">".$d['HoursWorked']."</th>
			 </tr>";
			 
			}
			
		}
  mysqli_free_result($res);


l'echo m'affiche le resultat en decimal par exemple : 1234.45
Comment faire pour convertir en heure minute seconde comme: 28:23:09
Merci

2 réponses

Utilisateur anonyme
 
Bonsoir,

Pour convertir des secondes en heures et minutes :
$duree = tes secondes;
$heures=intval($duree / 3600);
$minutes=intval(($duree % 3600) / 60);
$secondes=intval((($duree % 3600) % 60));


Après si c'est du timestamp, comme l'a dit foxyfox51, tu as la fonction date().

Cordialement,
1
BapPro Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
je viens de tester avec la variable qui vaut : $duree= 1767.7553
en essayant avec date('H:i:s',$duree)
j'ai cette resultat :19:29:27.
Effectivement avec ma requete j'ai 1767 heures avec des minutes et des secondes. le resultat que je voudrais avoir c'est l'affichage sur cette forme par exemple: 1767:45:56
0
Utilisateur anonyme
 
Si tu as un temps de base en heure, multiplie le par 3600 pour avoir un temps en seconde. Sauf, je ne sais pas si les chiffres après la virgule vont bien se faire prendre en compte.

$duree = 1767.7553 * 3600;
$heures = intval($duree / 3600);
$minutes = intval(($duree % 3600) / 60);
$secondes = intval((($duree % 3600) % 60));
echo ''.$heures.':'.$minutes.':'.$secondes.'';
Ca va te retourner : 1767:45:19


La fonction date ne marche qu'avec un timestamp : https://www.php.net/manual/fr/function.date.php
0