Foros del Web » Programando para Internet » PHP »

Operaciones con Hora

Estas en el tema de Operaciones con Hora en el foro de PHP en Foros del Web. hola todos necesita que alguien me ayude sucede que tengo en una base de datos unos campos de hora llamados hora_entrada y el otro hora_salida ...
  #1 (permalink)  
Antiguo 18/08/2004, 13:03
 
Fecha de Ingreso: mayo-2003
Ubicación: colombia
Mensajes: 26
Antigüedad: 20 años, 11 meses
Puntos: 0
Pregunta Operaciones con Hora

hola todos necesita que alguien me ayude
sucede que tengo en una base de datos unos campos de hora llamados hora_entrada y el otro hora_salida necesito que la hora_salida se le reste la hora_entrada y me muestre cuantas horas se gasto alguien me puede ayudar en esto lo otro es que tengo el servidor Mysql 4.0.20 lo cual hace que no maneje algunas funciones que se manejan en la version 4.1 de mysql y no puedo cambiar el servidor, agradeceria si alguien me puede ayudar con una solucion viable
__________________
atena
  #2 (permalink)  
Antiguo 18/08/2004, 15:46
Avatar de nitrouz  
Fecha de Ingreso: agosto-2003
Ubicación: Buenos Aires, Argentina
Mensajes: 78
Antigüedad: 20 años, 8 meses
Puntos: 0
A ver si te ayuda... los campos que puedes usar son un varchar de 10 caracteres de longitud, y cargarle los timestamp, referentes a la hora...

Para restarlos, yo hago esto...

Código PHP:
$hora_entrada time();
// Guardas la hora de entrada en la DB 
Luego cuando el user salga le pones igual:

Código PHP:
$hora_salida time();
// Y para sacar el tiempo online, supongo que seria eso...
$tiempo_online  mktime (date("H",$hora_salida)-date("H",$hora_entrada), date("i",$hora_salida)-date("i",$hora_entrada), date("s",$hora_salida)-date("s",$hora_entrada)); 
Creo que así va a estar todo , si tienes problemas con el mktime, completa con el resto de los parametros, no tube tiempo de probarlo yo.

y... luego para mostrar las horas...

Código PHP:
echo date("H:i",$tiempo_online); 
Es todo, Be happy!
__________________
Cristian Conedera
Mi Web: BothMedia.com, Diseño y Desarrollo
Mi Blog: nitrousBLOG*
  #3 (permalink)  
Antiguo 18/08/2004, 15:50
Avatar de dackiller  
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 4
Realizar esta operacion con Mysql

Hola Atena,

puedes usar la funcion de date() de php, pero creo que lo mejor es hacerlo con Mysql directamente.

Código:
Select (hora_entrada - hora_salida) as resta_tiempo from tabla
Claro recuerda que esto depende si los campos son TIMESTAMP (Hora Unix)

Pero revisa las Funciones Date de Mysql que si no me equivoco hay debe estar un ejemplo en la documentacion de Mysql.

Bye
__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.
  #4 (permalink)  
Antiguo 18/08/2004, 16:21
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Cita:
tengo el servidor Mysql 4.0.20 lo cual hace que no maneje algunas funciones que se manejan en la version 4.1 de mysql
¿Puedes decir qué funciones son exactamente las que necesitas?... en el manual, casi siempre en los comentarios de los usuarios hay formas alternativas de "simular" funciones de versiones posteriores.

Saludos
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 17:25.