Foros del Web » Programando para Internet » PHP »

sumar dias meses o años a una fecha

Estas en el tema de sumar dias meses o años a una fecha en el foro de PHP en Foros del Web. Como se puede sumar 2 dias 1 mes y 3 años a la fecha "2000-10-29". gracias...
  #1 (permalink)  
Antiguo 01/02/2005, 09:10
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 14 años, 10 meses
Puntos: 2
sumar dias meses o años a una fecha

Como se puede sumar 2 dias 1 mes y 3 años a la fecha "2000-10-29".

gracias
  #2 (permalink)  
Antiguo 01/02/2005, 09:21
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 13 años, 2 meses
Puntos: 0
Fechas

Estoy con la misma duda, (php cierto, ya que si es una base de dato mysql la cosa va or otro lado..). Necesito sumar 8 dias a una fecha, y estoy asi:
$fecha=10/01/2004
$suma_dia=strtotime($fecha)+strtotime("+8 day"))

esta funcion pasa la fecha a segundos, desde la fecha linux,
Si te sirve Bakan, voy a seguir averiguando... a ver si mas tarde tengo otra forma.
Atte
Maurimono
  #3 (permalink)  
Antiguo 01/02/2005, 09:32
 
Fecha de Ingreso: julio-2003
Ubicación: Parana, ER
Mensajes: 72
Antigüedad: 14 años, 4 meses
Puntos: 0
Con este ejemplito, tenes para jugar un rato con las fechas...
Código PHP:
$fecha_cambiada mktime(0,0,0,date("m")-1,date("d")+9,date("Y")-1);
$fecha date("d/m/Y"$fecha_cambiada);
echo 
$fecha//devuelve 10/01/2004 
Suerte.
__________________
Victor Bracco
Programador PHP
Proyectos Freelance
  #4 (permalink)  
Antiguo 01/02/2005, 09:38
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 14 años, 10 meses
Puntos: 2
Si , pero la fecha a sumar no quiero que sea la del sistema sino una en cocreto por ejemplo como dije antes "2000-10-29".

gracias
  #5 (permalink)  
Antiguo 01/02/2005, 10:02
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 13 años, 2 meses
Puntos: 0
Me retracto. Aqui esta la solucion a tu problema:


echo date("j-n-Y",strtotime("15 february 2004 + 1 week")); nos dara 22-02-04
Ojo:
j,n e Y. corresponde al "formato de Muestra de la fecha"
La fecha 15 february 2004, puede ser una $variable, en formato timestamp
+ 1 week reemplazalo por:
+ 3 year 1 month 2 days

osea:sumar 2 dias 1 mes y 3 años a la fecha "2000-10-29
<?php
echo date("j-n-Y",strtotime("2000-10-29 + 3 year 1 month 2 days"))
?>

Espero sea esta la solucion
Un saludo!
Atte
Maurimono
  #6 (permalink)  
Antiguo 01/02/2005, 10:15
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 14 años, 10 meses
Puntos: 2
Esto ya va mejor, bien, bien

Solo apuntar que si ahora lo que quiero es quitar un dia, ME LO SUMA TAMBIEN
Como solucionarlo ?

echo date("Y-m-d", strtotime("2000-02-01 - 1 day"));
// da 2000-02-02
  #7 (permalink)  
Antiguo 01/02/2005, 10:46
 
Fecha de Ingreso: julio-2003
Ubicación: Parana, ER
Mensajes: 72
Antigüedad: 14 años, 4 meses
Puntos: 0
Creo que te falta un poco de imaginación, porque como ya te dije, podes generar cualquier fecha utilizando este formato.
Código PHP:
$fecha_db "2000-10-29";
$fecha_db explode("-",$fecha_db);

$fecha_cambiada mktime(0,0,0,$fecha_db[1]+1,$fecha_db[2]+2,$fecha_db[0]+3);
$fecha date("d/m/Y"$fecha_cambiada);
echo 
$fecha;//Devuelve: 01/12/2003 
Suerte y para la proxima, abrí un poco mas los ojos...
__________________
Victor Bracco
Programador PHP
Proyectos Freelance
  #8 (permalink)  
Antiguo 01/02/2005, 10:53
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 14 años, 10 meses
Puntos: 2
Bueno, por fin !!
Más que imaginación, es falta de amplitud de conocimientos, por que de inventar cosas ya intenté, pero todo fueron bastonazos de ciego

Gracias
  #9 (permalink)  
Antiguo 02/02/2005, 08:21
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 13 años, 2 meses
Puntos: 0
Sumar fechas

la mejor opcion:
http://www.forosdelweb.com/showthrea...ghlight=fechas
Atte
Maurimono
  #10 (permalink)  
Antiguo 02/02/2005, 09:30
 
Fecha de Ingreso: julio-2003
Ubicación: Parana, ER
Mensajes: 72
Antigüedad: 14 años, 4 meses
Puntos: 0
Cita:
Iniciado por maurimono
No es otra cosa, que una simple variante, o incluso ni siquiera eso, ya que utilizan las mismas funciones que yo propongo, por lo tanto, no creo que sea conveniente, decir que es mejor o peor, esta o aquella, simplemente estan aplicadas a ejemplos distintos.

Saludos.
__________________
Victor Bracco
Programador PHP
Proyectos Freelance
  #11 (permalink)  
Antiguo 03/02/2005, 20:40
Avatar de H0m3r0J4y  
Fecha de Ingreso: abril-2002
Mensajes: 123
Antigüedad: 15 años, 7 meses
Puntos: 0
No hace falta usar PHP!

Puedes sacar la fecha incrementada desde MySQL, por ejemplo:

para sumarle un año a la fecha almacenada en el campo 'fecha' debes poner

SELECT DATE_ADD(fecha, INTERVAL 1 YEAR) as 'nueva_fecha' FROM tablename...

o para sumarle un año y 10 horas

SELECT DATE_ADD( DATE_ADD(fecha, INTERVAL 1 YEAR), INTERVAL 10 HOUR) as 'nueva_fecha' FROM tablename...

Espero te sirva y ganes tiempo!
  #12 (permalink)  
Antiguo 07/02/2005, 08:13
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 13 años, 2 meses
Puntos: 0
A ver niños!, seguro que hay mas se una opcion de poder resolver este problema, la idea era esa. Resolverlo!, y ya lo hicimos.

Dejenme contarles que estoy desarrollando un sistema que tiene su base de datos ya echo de antemano. Y quisiera ,por medio de esta nota, "Felicitar" a quien la hizo ya que definio las fechas como "Enteras". Ignorando absolutamente la manera correcta de hacerlo. Los dolores de cabeza han ido en aumento y estoy pensando seriamente en abandonarlo... ya que imaginense hacer consultas online a una base bastante grande y calculando fechas. Que va a pasar el dia que me digan "su sistema es lento???" Realmente tendre yo la culpa????.

Finalmente decir toda la razon al calcular fechas por mysql.
Atte
Maurimono
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 11:29.