PHP - Sumar un numero entero a una fecha

 
Vista:

Sumar un numero entero a una fecha

Publicado por Programming Languaje (30 intervenciones) el 14/08/2006 18:15:06
Hola a todos!!!!!!!

Tengo una duda con respecto al tema siguiente:

Yo quiero saber si una noticia que esta en la BDD con una fecha determinada de entrada, se encuentra entre la fecha actual y la fecha de entrada de tal noticia mas un numero de dias determinado. ¿Como puedo yo sumar un numero de dias determinado a una fecha? Porque lo que he probado ha sido lo siguiente:

$fecha=$fecha+1;

Teniendo $fecha un formato tal que asi: dd/mm/aaaa

pero el resultado que me da es solo el dia. Se suma bien pero solo me da el dia, y quisiera saber como hago para que me de la fecha en formato dd/mm/aaaa habiendole ya sumado tal numero.

Espero que alguien me responda.

---------------------------------------------------
Making Progress
---------------------------------------------------
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sumar un numero entero a una fecha

Publicado por maxter (205 intervenciones) el 14/08/2006 20:27:14
Lo que debes hacer es tomar la fecha, meterla en un array y tratar las cosas por separado o sea que puedes hacer las modificaciones por separado al día, mes o al año. Acá te dejo algo que te puede servir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 //tomamos el la fecha actual
 $hoy = date("d/m/Y");
 //la dividimos metiendola en un array
 $fecha = explode('/',$hoy);
 //le agregamos los días que querramos, en este caso 3
 $dia = $fecha[0] + 3;
 //tomamos el mes, le podemos sumar si queremos también, no es el caso
 $mes = $fecha[1];
 //tomamos el año, lo mismo que lo anterior
 $anio = $fecha[2];
 //mostramos la fecha modificada
 echo $dia.'/'.$mes.'/'.$anio;
 ?>

Saludos, Yoandy
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Sumar un numero entero a una fecha

Publicado por thessoro (30 intervenciones) el 16/08/2006 21:06:36
Lo suyo sería tener la fecha en un campo tipo fecha (¿para qué si no están los campos de fecha?) Una fecha en un VARCHAR no vale para nada.
Con un campo de tipo DATE o DATETIME podrías hacer algo como (suponiendo que el campo se llame 'fecha')
SELECT * FROM tabla WHERE fecha BETWEEN fecha AND DATE_ADD(NOW(), INTERVAL 3 DAYS) <- o sintaxis similar:

http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html

Si no lo tienes en un DATETIME, al menos guardalo como mm/dd/yy para poder realizar algo como
$fecha = strtotime('mm/dd/yy' + 3 days);

http://php.net/strtotime

O si no, guardarlo como un timestamp tipo UNIX. (el resultado de un time())

SELECT * FROM tabla WHERE fecha BETWEEN fecha AND UNIX_TIMESTAMP(NOW())

Pero tal como lo tienes, en principio, no te sirve de nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar