Convertir nombre decimal en heure minute seconde
BapPro
Messages postés
52
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai cette requete
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
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
-
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,-
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 -
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;
Ca va te retourner : 1767:45:19
$heures = intval($duree / 3600);
$minutes = intval(($duree % 3600) / 60);
$secondes = intval((($duree % 3600) % 60));
echo ''.$heures.':'.$minutes.':'.$secondes.'';
La fonction date ne marche qu'avec un timestamp : https://www.php.net/manual/fr/function.date.php
-
-
Bonsoir,
La fonction est date()
ex: date('d/m/Y à H:i:s',$variable_contenant_la_valeur)