Foros del Web » Programando para Internet » PHP »

Ayuda con fechas

Estas en el tema de Ayuda con fechas en el foro de PHP en Foros del Web. Hola. Tengo esta funcion function visitas_reales_dia() { $visitas_reales_dia = mysql_query("SELECT ip, inicio, Max(fin) AS maxfin FROM t_sesiones GROUP BY ip, inicio"); while ($rs1 = mysql_fetch_assoc($visitas_reales_dia)) ...
  #1 (permalink)  
Antiguo 10/06/2010, 15:00
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Ayuda con fechas

Hola. Tengo esta funcion

function visitas_reales_dia()
{
$visitas_reales_dia = mysql_query("SELECT ip, inicio, Max(fin) AS maxfin FROM t_sesiones GROUP BY ip, inicio");

while ($rs1 = mysql_fetch_assoc($visitas_reales_dia))
{
if ($rs1['inicio'] != $rs1['maxfin'])
{
$inicio_modificada = strtotime($rs1['inicio']);
$fin_modificada = strtotime($rs1['maxfin']);

$sesion = $fin_modificada - $inicio_modificada;

echo date("H:i:s",$inicio_modificada);
echo "<br>";

echo date("H:i:s",$fin_modificada);
echo "<br>";

echo date("H:i:s",$sesion);
echo "<br>";
echo "<br>";
}
}
}

Que devuelve estos estos resultados

07:12:29
07:12:48
01:00:19

07:12:29
07:12:58
01:00:29

15:25:56
15:26:42
01:00:46

07:12:29
08:12:31
02:00:02

07:12:29
07:12:33
01:00:04

07:12:29
07:12:34
01:00:05

Es decir, resta dos fechas y da el resultado.

¿Sabeis porque el resultado me lo calcula bien, excepto que pone siempre una hora de mas?.

Gracias. Un saludo.
  #2 (permalink)  
Antiguo 10/06/2010, 15:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con fechas

bueno, si la diferencia son minutos... y pides que muestre una hora, jamás va a mostrarla así...

incluso, recién hice esta prueba:
Código PHP:
echo date('H:i:s'3); 
y el comportamiento es similar, vamos... que no tengo ni idea!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/06/2010, 15:07
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: Ayuda con fechas

No, de cada bloque de tres, el primero seria la fecha inicial, el segundo la fecha final y el tercero la diferencia.

Todos los muestra en horas - minutos - segundos, ya que una sesion puede durar segundo u horas.

El problema es que, si unas sesion ha durado 15 segundos, el resultado que da es 01:00:15, cuando deberia de dar 00:00:15.

Si la sesion dura 1 hora y 15 minutos y 3 segundos, da el resultado 02:15:03, cuando deberia de dar 01:15:03.

Es decir, siempre pone una hora de mas.
  #4 (permalink)  
Antiguo 10/06/2010, 15:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con fechas

claro que entiendo tu problema, no creas que no...

en todo caso, porque no restas dicha hora entonces??
Código PHP:
echo date('H:i:s'strtotime('-1 hour'strtotime('01:00:13'))); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 11/06/2010, 00:05
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: Ayuda con fechas

Ya, pero bueno, era por hacer las cosas bien, y ademas, que no entiendo este comportamiento de php, tendrá su explicacion, pero yo no la veo.

Etiquetas: fechas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:22.