Foros del Web » Programando para Internet » PHP »

Restar horas

Estas en el tema de Restar horas en el foro de PHP en Foros del Web. Recojo la hora actual del sistema y quiero restarle 3 horas. Lo hago asi: Código PHP: $hora_restada = date ( "H" )- 3 ;  El ...
  #1 (permalink)  
Antiguo 08/03/2005, 08:59
Avatar de cometron  
Fecha de Ingreso: mayo-2003
Ubicación: Madrid
Mensajes: 151
Antigüedad: 20 años, 10 meses
Puntos: 0
Restar horas

Recojo la hora actual del sistema y quiero restarle 3 horas. Lo hago asi:
Código PHP:
$hora_restada=date("H")-3
El problema es q al ser por ejemplo la hora "01" al restarle "3" me devuelve "-2" Hay alguna forma para restarla devolviendome horas? en este caso seria "22"
Gracias.
  #2 (permalink)  
Antiguo 08/03/2005, 09:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No uses "H" que te dá la hora (para date()) como un string con su 0 delante .. usa "G" que te devuelve la hora sin ceros delante ...

http://www.zend.com/manual/function.date.php
Otra cosa que puedes hacer es tomar tu fecha como un timestamp con time() y restar en tu caso lo que corresponda en segundos a 3 horas ..

Un saludo,
  #3 (permalink)  
Antiguo 08/03/2005, 09:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Hay alguna forma para restarla devolviendome horas? en este caso seria "22"

En este caso .. lo que debes es componer una fecha .. para eso puedes usar mktime() con ayuda de date() puedes componer una fecha dada atendiendo a "calendario". Luego con date() nuevamente te puedes quedar con la parte de la fecha generada que gustes ...

Un saludo,
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 20:32.