Conversion de la sortie MySQL TIMEDIFF au format jour, heure, minute, seconde
Lors de l'interrogation de la différence de temps entre deux valeurs DATETIME dans MySQL, le La fonction TIMEDIFF renvoie généralement une valeur au format heures:minutes:secondes. Toutefois, si vous souhaitez une représentation plus complète incluant les jours et les secondes, vous pouvez utiliser une formule personnalisée.
Pour formater la sortie TIMEDIFF en jours, heures, minutes et secondes, vous pouvez utiliser la requête suivante :
<code class="sql">SELECT CONCAT( FLOOR(HOUR(TIMEDIFF(end_time, start_time)) / 24), ' days ', MOD(HOUR(TIMEDIFF(end_time, start_time)), 24), ' hours ', MINUTE(TIMEDIFF(end_time, start_time)), ' minutes', SECOND(TIMEDIFF(end_time, start_time)), ' seconds' )</code>
Remplacez end_time et start_time par les colonnes ou valeurs correspondantes représentant votre plage horaire spécifique.
Par exemple, si vous avez les valeurs suivantes :
start_time = '2010-01-01 12:30' end_time = '2010-01-06 08:46'
L'exécution de la requête produira le résultat suivant :
4 days 20 hours 12 minutes 10 seconds
Il est important de noter que cette solution gère efficacement les différences de date dans une plage de 35 jours. Si vous prévoyez des différences de date plus importantes dépassant 35 jours, il est conseillé d'envisager des solutions alternatives utilisant la fonction TIMESTAMPDIFF.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!