PHP - Tiempo trascurrido entre 2 horas

 
Vista:
sin imagen de perfil
Val: 16
Ha aumentado su posición en 10 puestos en PHP (en relación al último mes)
Gráfica de PHP

Tiempo trascurrido entre 2 horas

Publicado por juan (9 intervenciones) el 17/09/2019 05:41:57
Hola, necesito calcular el tiempo trascurrido entre dos horas, pero por alguna razón los códigos que he probado no funcionan, las horas están almacenadas en mysql y son "TIME" este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<TABLE id='table'>
<TR>
    <TH>ID.No</TH>
    <TH>Nombre</TH>
    <TH>Numero de Cedula</TH>
    <TH>Fecha</TH>
    <TH>Hora Entrada</TH>
    <TH>Hora Salida</TH>
    <TH>Tiempo Trascurrido</TH>
</TR>
<?php
session_start();
//Connect to database
require'connectDB.php';
 
$seldate = $_SESSION["exportdata"];
 
$sql = "SELECT * FROM logs WHERE DateLog='$seldate' ORDER BY id DESC";
$result=mysqli_query($conn,$sql);
 
if (mysqli_num_rows($result) > 0)
{
  while ($row = mysqli_fetch_assoc($result))
  {
?>
        <TR>
        <TD><?php echo $row['id'];?></TD>
        <TD><?php echo $row['Name'];?></TD>
        <TD><?php echo $row['SerialNumber'];?></TD>
        <TD><?php echo $row['DateLog'];?></TD>
        <TD><?php echo $row['TimeIn'];?></TD>
        <TD><?php echo $row['TimeOut'];?></TD>
        <TD><?php
 
 
        //Aquí necesito ingresar la diferencia entre TimeIn y Time Out
 
 
        ?></TD>
        </TR>
<?php
  }
}
?>
</TABLE>

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Tiempo trascurrido entre 2 horas

Publicado por joel (1269 intervenciones) el 17/09/2019 09:03:52
Una manera, podría ser:

1
echo date("H:m:s", strtotime($row['TimeOut'])-strtotime($row['TimeIn']));

Te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Tiempo trascurrido entre 2 horas

Publicado por Kathyu (905 intervenciones) el 17/09/2019 16:28:22
tambien esta la forma de pasar el tiempo a numero entero y restarlo, por el momento no recuerdo esa función que pone el tiempo así
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha aumentado su posición en 10 puestos en PHP (en relación al último mes)
Gráfica de PHP

Tiempo trascurrido entre 2 horas

Publicado por juan (9 intervenciones) el 17/09/2019 17:47:38
Kathyu gracias por responder, investigare lo que me dices, muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha aumentado su posición en 10 puestos en PHP (en relación al último mes)
Gráfica de PHP

Tiempo trascurrido entre 2 horas

Publicado por juan (9 intervenciones) el 17/09/2019 17:46:38
He obtenido un error, te enviare la imagen.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha aumentado su posición en 10 puestos en PHP (en relación al último mes)
Gráfica de PHP

Tiempo trascurrido entre 2 horas

Publicado por juan (9 intervenciones) el 17/09/2019 17:51:36
Joel gracias por responder, mira he realizado lo que me dices y obtengo lo siguiente:

error

Efectivamente ya arroja un valor, pero este no concuerda con las diferencias de horas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Tiempo trascurrido entre 2 horas

Publicado por kip (877 intervenciones) el 17/09/2019 18:41:25
Intenta con DateTime:

1
2
3
$dateIn = new DateTime('2019-09-16 19:51:26');
$dateOut = (clone $dateIn)->setTime(21, 49, 14);
$difference = ($dateIn->diff($dateOut))->format('%H:%I:%S'); // "01:57:48"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 16
Ha aumentado su posición en 10 puestos en PHP (en relación al último mes)
Gráfica de PHP

Tiempo trascurrido entre 2 horas

Publicado por juan (9 intervenciones) el 18/09/2019 04:23:29
Ya lo logre, a prueba y error jejeje, gracias a todos, paso el código por si alguien tiene la misma inquietud.

1
2
3
4
5
6
7
<TD><?php
    $Hora1=new DateTime($row['TimeIn']);
    $Hora2=new DateTime($row['TimeOut']);
    $dateInterval = $Hora1->diff($Hora2);
    echo $dateInterval->format('%H horas %i minutos %s segundos').PHP_EOL;
 
?></TD>

El resultado es este:

Captura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar