Foros del Web » Programando para Internet » PHP »

Restar 12 horas

Estas en el tema de Restar 12 horas en el foro de PHP en Foros del Web. Tengo el siguiente problema: Estoy intentando resta a una hora, que traigo de mi base de datos contenido en un campo time, 12horas, pero no ...
  #1 (permalink)  
Antiguo 04/05/2009, 06:38
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 18 años, 3 meses
Puntos: 0
Pregunta Restar 12 horas

Tengo el siguiente problema:
Estoy intentando resta a una hora, que traigo de mi base de datos contenido en un campo time, 12horas, pero no obtengo otro resultado que la hora sin restar.
El codigo que utilizo es:

Código PHP:
$horajuego=$row1['hora'];
$horaresta date("$horajuego"time()-12*3600); 
en el campo hora de mi db tengo almacenado esto: 16:24:00

hice la prube con H:i:s y si funciona, pero con la hora que traigo de la base no

Código PHP:
$horajuego=$row1['hora'];
$horaresta date("H:i:s"time()-12*3600); 
Espero que me puedan ayudar.
Muchas gracias
  #2 (permalink)  
Antiguo 04/05/2009, 07:06
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 1 mes
Puntos: 41
Respuesta: Restar 12 horas

Si usas mysql, mira la lista de funciones para fecha y hora.
http://dev.mysql.com/doc/refman/5.1/...functions.html

Saludos,
  #3 (permalink)  
Antiguo 04/05/2009, 07:08
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Restar 12 horas

jpinedo
Muchas gracias por tu respuesta, pero uso la base para traer la información, el resto lo quiero filtrar y trbajar con php.
  #4 (permalink)  
Antiguo 04/05/2009, 07:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Restar 12 horas

Usa strtotime() para generar un timestamp del valor que traes desde la base de datos y luego usa date() para generar tu hora.

Saludos.
  #5 (permalink)  
Antiguo 04/05/2009, 13:06
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 17 años, 2 meses
Puntos: 5
Respuesta: Restar 12 horas

saludos.

Mira, ultimamente me he evitado las pajas y uso esta función.

Código PHP:
// Funcion desde http://www.alterbrain.net/2008/02/05/funcion-php-para-sumar-tiempo-a-fechas/
function dateadd($date$dd=0$mm=0$yy=0$hh=0$mn=0$ss=0){
    
$date_r getdate(strtotime($date));
    
$date_result date("Y-m-d H:i:s"mktime(($date_r["hours"]+$hh),($date_r["minutes"]+$mn),($date_r["seconds"]+$ss),($date_r["mon"]+$mm),($date_r["mday"]+$dd),($date_r["year"]+$yy)));
    return 
$date_result;

De mil maravillas. Si quieres sumar Años, Meses, Dias, Horas, Minutos o segundos, de la forma más fácil y rápida, esta es la función.

Silla!
  #6 (permalink)  
Antiguo 07/05/2009, 13:37
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Restar 12 horas

Muchas gracias por sus respuestas, la semana pasada pude dar solucion a este problemas de las fechas. La verdad nunca habia trabajado con ellas y me sirvio mucho para aprender, gracias por la orientacion.
Aca dejo la forma en que lo resolvi:

Código PHP:
// Aca tomo la fecha de la base de datos
$fechajuego=$row1['fecha'];
// Paso a segundos la fecha de la base
$fechajunix=strtotime($fechajuego);
// Le resto un dia a la fecha de la base
$fecharesta=$fechajunix-86400;
// Aca tomo la fecha actual
$hoyf=date("Y-m-d");
// Paso a segundos la fecha actual
$fechahoy=strtotime($hoyf);
// Reviso si puedo mostrar el contenido
if($fechahoy<=$fecharesta){ 
Muchas gracias por la ayuda!
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 21:15.