Hola, todos Estoy tratando de calcular el tiempo transcurrido en php. El problema no está en php, sino en mis habilidades matemáticas. Por ejemplo: Hora en: 11:35:20 (hh: mm: ss), ahora diga que la hora actual es: 12:00:45 (hh: mm: ss) luego la diferencia de tiempo en mi fórmula da el resultado: 1: -34: 25. En realidad debería ser: 25:25Calcular el tiempo transcurrido en php
$d1=getdate();
$hournew=$d1['hours'];
$minnew=$d1['minutes'];
$secnew=$d1['seconds'];
$hourin = $_SESSION['h'];
$secin = $_SESSION['s'];
$minin = $_SESSION['m'];
$h1=$hournew-$hourin;
$s1=$secnew-$secin;
$m1=$minnew-$minin;
if($s1<0) {
$s1+=60; }
if($s1>=(60-$secin)) {
$m1--; }
if($m1<0) {
$m1++; }
echo $h1 . ":" . $m1 . ":" . $s1;
¿Alguna ayuda por favor?
EDITAR
sentimos que probablemente tenía que añadir que la página se actualiza cada segundo para mostrar el nuevo tiempo transcurrido así que tengo que usar mi método anterior. Mis disculpas por no explicar correctamente.
Considere la posibilidad de convertir a marcas de tiempo con 'mktime()' y luego realice una resta simple. Y tal vez sería una buena idea simplemente trabajar con 'time()' en lugar de 'getdate()' en ese caso. –
y si usabas un enfoque inverso? ¿Sabes la hora en que el usuario inició sesión y luego muestra una especie de prueba? – JellyBelly
Que todos ustedes para las respuestas, finalmente lo conseguí trabajando después de mirar todas las respuestas con lo siguiente: 'if ($ s1 <0) { \t $ s1 + = 60; } if ($ s1> = (60- $ secin)) { \t $ m1--; \t} if ($ m1 <0) { $ m1 * = -1; $ m1 = (60 - $ m1); $ h1--; } ' – Wilest