Transformation du temps : HH:MM:SS en secondes pures
Lorsque vous travaillez avec le temps, il est souvent nécessaire de convertir une chaîne de temps en le format HH:MM:SS en un simple entier représentant le nombre total de secondes. Pour y parvenir, on peut utiliser diverses méthodes, comme celle présentée ci-dessous.
Solution :
La solution fournie exploite les expressions régulières de style Perl et le sscanf( ) fonction pour disséquer la chaîne de temps et extraire les informations sur les heures, les minutes et les secondes. Il utilise ensuite une arithmétique simple pour calculer le nombre total de secondes.
En utilisant preg_replace() pour compléter la chaîne avec des zéros non significatifs, le code garantit un format cohérent pour que la fonction sscanf() analyse quelle que soit l'entrée. format de chaîne. Cela évite d'avoir besoin d'une gestion d'erreur supplémentaire ou de cas particuliers pour les temps partiels comme "MM:SS."
Voici le code en action :
$str_time = "23:12:95"; $str_time = preg_replace("/^([\d]{1,2})\:([\d]{2})$/", "00::", $str_time); sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds); $time_seconds = $hours * 3600 + $minutes * 60 + $seconds; echo $time_seconds; // Output: 83615
En utilisant cette approche, vous pouvez sans effort convertissez les chaînes de temps au format HH:MM:SS en leur représentation équivalente en secondes totales.
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!