Foros del Web » Programando para Internet » PHP »

Cantidad de Tiempo

Estas en el tema de Cantidad de Tiempo en el foro de PHP en Foros del Web. Buenas! Mediante una libreria ( GameQ ) obtengo datos de un servidor de juegos de Counter Strike. Pero tengo un problema ahora, los tiempos que ...
  #1 (permalink)  
Antiguo 05/06/2009, 08:02
Avatar de Zuker  
Fecha de Ingreso: marzo-2007
Ubicación: Argentina
Mensajes: 164
Antigüedad: 12 años, 8 meses
Puntos: 1
Información Cantidad de Tiempo

Buenas!

Mediante una libreria (GameQ) obtengo datos de un servidor de juegos de Counter Strike.

Pero tengo un problema ahora, los tiempos que la gente lleva jugados que me imprime son de este tipo:

542.4296875
835.5078125
3483.15625

Y no se como convertirlos en un formato que se entienda cuanto representa :P

Alguna idea?

Gracias
Saludos
  #2 (permalink)  
Antiguo 05/06/2009, 08:09
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 11 años, 6 meses
Puntos: 127
Respuesta: Cantidad de Tiempo

si son segundos dividelos por 60 y te daran los minutos.
si son minutos dividelos por 60 y te dara las horas.
si son horas dividelos por 24 y te dara los dias.
todo es cuestion de saber si son segundos horas o minutos.
  #3 (permalink)  
Antiguo 05/06/2009, 08:51
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 6 meses
Puntos: 1517
Respuesta: Cantidad de Tiempo

que representa esos numero horas, minutos, segundos, dias, semanas. Si es posible escribe la parte que crea esa parte
  #4 (permalink)  
Antiguo 05/06/2009, 08:58
Avatar de Zuker  
Fecha de Ingreso: marzo-2007
Ubicación: Argentina
Mensajes: 164
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Cantidad de Tiempo

Esa es la cuestion... no se que es lo que representa, je.
  #5 (permalink)  
Antiguo 05/06/2009, 09:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 6 meses
Puntos: 1517
Respuesta: Cantidad de Tiempo

Puedes mostrar la ecuacion para poder decirte
  #6 (permalink)  
Antiguo 05/06/2009, 09:53
Avatar de Zuker  
Fecha de Ingreso: marzo-2007
Ubicación: Argentina
Mensajes: 164
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Cantidad de Tiempo

No hay una ecuacion... es información que devuelve ya asi.
  #7 (permalink)  
Antiguo 05/06/2009, 09:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 6 meses
Puntos: 1517
Respuesta: Cantidad de Tiempo

De donde entonces la sacas?
  #8 (permalink)  
Antiguo 05/06/2009, 10:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Cantidad de Tiempo

Pueden ser microsegundos, la primera parte son segundos y la segunda parte (después del .) son los microsegundos.

Saludos.
  #9 (permalink)  
Antiguo 05/06/2009, 10:48
Avatar de Zuker  
Fecha de Ingreso: marzo-2007
Ubicación: Argentina
Mensajes: 164
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Cantidad de Tiempo

Cita:
Iniciado por abimaelrc Ver Mensaje
De donde entonces la sacas?
Ya viene asi desde el servidor... Para que lo entiendas hace de cuenta que es un api que da esa informacion y tenes que darle formato.
  #10 (permalink)  
Antiguo 05/06/2009, 12:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 6 meses
Puntos: 1517
Respuesta: Cantidad de Tiempo

Tienes algun ejemplo del tiempo que hayas usado el servicio para que nos diga el tiempo que jugaste real y el tiempo que te mostro para asi deducir que representa esa cantidad?
  #11 (permalink)  
Antiguo 05/06/2009, 22:11
Avatar de Zuker  
Fecha de Ingreso: marzo-2007
Ubicación: Argentina
Mensajes: 164
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Cantidad de Tiempo

Estuve investigando revisando como dice abimaelrc y resulta que son segundos.

Cual es la mejor opcion para convertirlo en formato 00:00:00 ?

Gracias, saludos!
  #12 (permalink)  
Antiguo 05/06/2009, 22:13
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 6 meses
Puntos: 1517
Respuesta: Cantidad de Tiempo

Son segundos la primera parte o todo? o sea

80.808008

el 80 son segundo y el resto es milisegundos? te pregunto porque si es asi puedes hacer un explode para que vea la primera parte solamente luego divides por 60 segundos y ahi sacamos todo lo demas.

Me dejas saber
  #13 (permalink)  
Antiguo 05/06/2009, 22:21
Avatar de Zuker  
Fecha de Ingreso: marzo-2007
Ubicación: Argentina
Mensajes: 164
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Cantidad de Tiempo

No calcule lo de los milisegundos... Se que la primera parte son segundos nomas
  #14 (permalink)  
Antiguo 05/06/2009, 22:28
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 6 meses
Puntos: 1517
Respuesta: Cantidad de Tiempo

ok pues usa el explode

$tiempo = explode(".", $variable_que_tiene_el_tiempo);
$setTime = round($tiempo[0]/60,2);

Claro te di el ejemplo rapido tu lo modificas poco a poco para que te salga como 00:00:00

Si sale 1.33 o algo por el estilo la primera parte representa minutos la segunda parte representa segundos vuelves a hacer un explode y buscas la primera para minutos y la segunda parte para segundos
  #15 (permalink)  
Antiguo 05/06/2009, 22:40
Avatar de Zuker  
Fecha de Ingreso: marzo-2007
Ubicación: Argentina
Mensajes: 164
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Cantidad de Tiempo

Gracias! No termino de entender bien como hacer para que salga con el formato 00:00:00
Pero voy a seguir intentando, gracias!
  #16 (permalink)  
Antiguo 05/06/2009, 22:55
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 6 meses
Puntos: 1517
Respuesta: Cantidad de Tiempo

Mira esta funcion que encontre por internet

Código PHP:
function segundos_tiempo($segundos){
    
$minutos=$segundos/60
    
$horas=floor($minutos/60); 
    
$minutos2=$minutos%60; 
    
$segundos_2=$segundos%60%60%60
    if(
$minutos2<10)$minutos2='0'.$minutos2
    if(
$segundos_2<10)$segundos_2='0'.$segundos_2

    if(
$segundos<60){ /* segundos */ 
        
$resultadoround($segundos).' Segundos'
    }elseif(
$segundos>60 && $segundos<3600){/* minutos */ 
        
$resultado$minutos2.':'.$segundos_2.' Minutos'
    }else{
/* horas */ 
        
$resultado$horas.':'.$minutos2.':'.$segundos_2.' Horas'
    } 
    return 
$resultado
}
$segundos=date('h')*60*60+(date('i')*60)+date('s'); 

echo 
'Segundos: '.$segundos.' Resultado: '.segundos_tiempo($segundos); 
  #17 (permalink)  
Antiguo 05/06/2009, 23:16
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 11 años, 4 meses
Puntos: 416
Respuesta: Cantidad de Tiempo

Código php:
Ver original
  1. function sec2hms ($sec, $padHours = false)
  2.   {
  3.  
  4.     // holds formatted string
  5.     $hms = "";
  6.    
  7.     // there are 3600 seconds in an hour, so if we
  8.     // divide total seconds by 3600 and throw away
  9.     // the remainder, we've got the number of hours
  10.     $hours = intval(intval($sec) / 3600);
  11.  
  12.     // add to $hms, with a leading 0 if asked for
  13.     $hms .= ($padHours)
  14.           ? str_pad($hours, 2, "0", STR_PAD_LEFT). ':'
  15.           : $hours. ':';
  16.      
  17.     // dividing the total seconds by 60 will give us
  18.     // the number of minutes, but we're interested in
  19.     // minutes past the hour: to get that, we need to
  20.     // divide by 60 again and keep the remainder
  21.     $minutes = intval(($sec / 60) &#37; 60);
  22.  
  23.     // then add to $hms (with a leading 0 if needed)
  24.     $hms .= str_pad($minutes, 2, "0", STR_PAD_LEFT). ':';
  25.  
  26.     // seconds are simple - just divide the total
  27.     // seconds by 60 and keep the remainder
  28.     $seconds = intval($sec % 60);
  29.  
  30.     // add to $hms, again with a leading 0 if needed
  31.     $hms .= str_pad($seconds, 2, "0", STR_PAD_LEFT);
  32.  
  33.     // done!
  34.     return $hms;
  35.    
  36.   }

Reemplaza & #37; por %

http://www.laughing-buddha.net/jon/php/sec2hms/
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 13:53.