Foros del Web » Programando para Internet » PHP »

sumar fecha

Estas en el tema de sumar fecha en el foro de PHP en Foros del Web. hola, alguien podria explicarme como funciona el mktime()? pues necesito hacer un insert dependiendo de esto: calcular si una fecha final es > que una ...
  #1 (permalink)  
Antiguo 04/02/2004, 16:31
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
sumar fecha

hola, alguien podria explicarme como funciona el mktime()?

pues necesito hacer un insert dependiendo de esto:

calcular si una fecha final es > que una fecha inicial y si es asi hacer un insert con la fecha + 7

que es + 7?

bueno este insert es por dia (se inserta este lunes y luego el otro lunes siguiente si es fecha final > fecha inicial)


pero sucede que no se utilizar el mktime para utilizar el +7 en el

alguien me orienta?
__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 04/02/2004, 16:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
+7 qué?.. dias, años o meses .. u horas o minutos o segundos ?

Bueno.. así se compone una fecha usando mktime() .. en su desglose de horas minutos y segundos junto con su fecha en dia, año y mes ...

Si dices que ya tienes una fecha .. tendras que desglosar esa fecha en sus correspondientes dias, meses y años (y si corresponde también su hora, minuto y segundo). Ese "desglose" depende del formato que tenga tu fecha o .. incluso si tus fechas las guardastes como un TIMESTAMP .. se hará de otra forma (usando date("dato que quieras de la fecha",$tufecha_si_es_timestamp)

Pero .., como mencionas que usas Base de datos o que esos datos están al parecer en una Base de datos .. Lo ideal es que ese cálculo lo hagas con las funciones de tratamiento de fechas que YA tiene tu Base de datos (Msyql?) ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 04/02/2004, 16:55
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
pue ese siete no es mas que 7 para esto (si es dia lunes para llegar al proximo lunes hay que sumar 7 e insertar nuevamente en ese lunes...)

entendiste?

el desglose de la fecha siempre lo hago con list($a, $b, $c) y un explode de mi campo fecha....

pero eso de sumar a la fecha actual 7 no me sale con el mktime

__________________
www.dataautos.com
  #4 (permalink)  
Antiguo 05/02/2004, 07:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
A ver ...

Tus "7" serán DIAS (podría ser 7 horas, 7 meses, 7años .. 7 segundo, 7 minutos .. ) ..pero como hablas de "lunes a lunes" se supone que són dias!. MKTIME() forma la fecha (según calendario) a partir de un dia, mes y año que le indiques .. para luego formaterlo con date() para ver su fecha.

Si tenemos ya desglosada tu fecha en $mes, $dia, $year (año):

Código PHP:
$dia="11"
$mes="1"// Enero
$año="2004"// cuatro cifras ..

$fecha_nueva=mktime(0,0,0,$mes,$dia+7,$year);
echo 
date ("d-m-Y",$fecha_nueva); 
SI te das cuenta .. estoy sumando 7 DIAS al dia que has obtenido en tu fecha. Mktime() ya se encarga de calcular la fecha según calendario.

Pero .. si dices que esa fecha la obtienes de una Base de datos (tal vez Myslq?) .. Esos cálculos de fechas NO se deberían hacer desde PHP .. sino desde SQL que para eso cada motor de Base de datos te pone a tu disposición funciones para realizar cálculos de fechas.

Por ejemplo . .en Mysql sería:

SELECT DATE_ADD(campo_fecha, INTERVAL 7 DAY) as nueva_fecha FROM tabla

(en 'nueva_fecha' obtendrás la fecha de ese campo+ tus 7 DIAS!) ... así de simple y MUCHO más optimo que hacerlo desde PHP con todo el "list() .. el explode .. el mktime() .. el date() y todo lo demás .. por médio).

Màs info sobre funciones de fechas para Msyql:
http://www.mysql.com/doc/en/Date_and...functions.html

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 05/02/2004, 07:54
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
CLuster mil gracias....
__________________
www.dataautos.com
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 07:33.