Foros del Web » Programando para Internet » PHP »

restar dos fechas y que de el resultado en horas

Estas en el tema de restar dos fechas y que de el resultado en horas en el foro de PHP en Foros del Web. Como restar dos fechas y que de el resultado en horas ? 2010-02-08 15:00:00 - 2010-02-08 16:00:00 Salir: 1 hora...
  #1 (permalink)  
Antiguo 01/03/2010, 10:59
 
Fecha de Ingreso: agosto-2008
Mensajes: 587
Antigüedad: 16 años, 3 meses
Puntos: 6
restar dos fechas y que de el resultado en horas

Como restar dos fechas y que de el resultado en horas ?

2010-02-08 15:00:00 - 2010-02-08 16:00:00

Salir: 1 hora
  #2 (permalink)  
Antiguo 01/03/2010, 12:19
 
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: restar dos fechas y que de el resultado en horas

Entonces, si el resultado es 1 hora, mas que restar 2 fechas, será restar 2 horas, no?? Lo unico que tienes que hacer es extraer la hora de ahi con alguna función de tratamiento de carácteres (substr, explode,...) y restarlas!! Por curiosidad, esto lo sacas de alguna BD?? Porque hay funciones que te permitirian obtener el resultado deseado directamente de la consulta, no haria falta usar php!! Saludoos! ;)
  #3 (permalink)  
Antiguo 01/03/2010, 12:32
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: restar dos fechas y que de el resultado en horas

La funcion mktime() te puede servir, devuelve digamos la fecha en cantidad de segundos, mas info: http://www.php.net/manual/en/function.mktime.php

Prueba esto:

Código PHP:
Ver original
  1. $inicio=mktime(15, 0, 0, 2, 8, 2010);
  2. $fin=mktime(16, 0, 0, 2, 8, 2010);
  3.  
  4. echo "La diferencia en segundos son: ".($fin-$inicio)."<br>";
  5. echo "La diferencia en horas son: ".(($fin-$inicio)/3600)."<br>";


Es una funcion muy muy util manejandola bien :) Saludos y buen karma
  #4 (permalink)  
Antiguo 01/03/2010, 12:33
 
Fecha de Ingreso: agosto-2008
Mensajes: 587
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: restar dos fechas y que de el resultado en horas

select TIMEDIFF('2010-02-01 14:10:00','2010-02-01 08:40:59')

resultado es : 05:29:01

como verifico si es mas que 5 horas, diga es mayor que 5 horas.

Código PHP:
Ver original
  1. if($fecha_hora <= '05:00:00'){
  2.     echo "es menor que 5 horas.";
  3. }
  4. else
  5. {
  6.     echo "mayor que 5 horas.";
  7. }
  #5 (permalink)  
Antiguo 01/03/2010, 12:38
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: restar dos fechas y que de el resultado en horas

mmmmm, bueno ya que lo has hecho asi, puedes capturar solo los dos primeros caracteres de la izquierda:

select LEFT(TIMEDIFF('2010-02-01 14:10:00','2010-02-01 08:40:59'),2)
  #6 (permalink)  
Antiguo 01/03/2010, 13:26
 
Fecha de Ingreso: agosto-2008
Mensajes: 587
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: restar dos fechas y que de el resultado en horas

Gracias, funcionaa !!

select LEFT(TIMEDIFF('2010-02-01 17:15:10','2010-02-01 14:10:05'),2)

Resultado es: 03

Siendo "03" equivalente a 3 horas entre "14:10:05 - 17:15:10"

Etiquetas: dos, fechas, horas, restar, resultados
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 12:13.