Convertir nombre decimal en heure minute seconde

BapPro Messages postés 52 Statut Membre -  
 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

  1. 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
    1. BapPro Messages postés 52 Statut Membre
       
      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
    2. 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
  2. foxyfox51 Messages postés 1005 Date d'inscription   Statut Membre Dernière intervention   353
     
    Bonsoir,

    La fonction est date()

    ex: date('d/m/Y à H:i:s',$variable_contenant_la_valeur)
    0