Foros del Web » Programando para Internet » PHP »

suma de fechas

Estas en el tema de suma de fechas en el foro de PHP en Foros del Web. hola amigos del foros del web me pueden indicar , como se puede hacer para ingresada una fecha y un numero de meses y devolverme ...
  #1 (permalink)  
Antiguo 15/01/2011, 20:44
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
suma de fechas

hola amigos del foros del web


me pueden indicar , como se puede hacer para ingresada una fecha y un numero de meses y devolverme la facha mas un mes ejemplo


fecha inicial 2011-01-15
tiempo 2 meses

2011-02-15
2011-03-15

otro ejemplo
fecha inicial 2011-01-01
tiempo 3 meses

2011-02-01
2011-03-01
2011-04-01
  #2 (permalink)  
Antiguo 15/01/2011, 20:55
Avatar de jariza  
Fecha de Ingreso: agosto-2003
Ubicación: Málaga
Mensajes: 1.449
Antigüedad: 20 años, 8 meses
Puntos: 10
Respuesta: suma de fechas

Hola,

Puedes usar strtotime:
$suma = strtotime("+n month", $timestamp_origen);

http://es2.php.net/manual/en/function.strtotime.php

Un saludo.
  #3 (permalink)  
Antiguo 15/01/2011, 21:07
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: suma de fechas

lo utilizo asi

<? $fecha="2011-01-01";
$suma = strtotime("+n month", $fecha);
echo date("Y-m-d", $suma);
?>
  #4 (permalink)  
Antiguo 15/01/2011, 21:12
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: suma de fechas

lo utilice asi

<? $fecha="2011-01-01";
$suma = strtotime("+1", $fecha);
echo date("Y-m-d", $suma);
?>

y me da como resultado 1969-12-31
  #5 (permalink)  
Antiguo 15/01/2011, 21:43
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 14 años, 10 meses
Puntos: 24
Respuesta: suma de fechas

Código PHP:
Ver original
  1. <?php
  2.  
  3. //fecha inicial 2011-01-15
  4. $fecha = new DateTime('2011-01-15');
  5. //tiempo 2 meses
  6. $meses = 2;
  7.  
  8. for($i = 0; $i < $meses; $i++) {
  9.     $fecha->modify('+1 month');
  10.     echo $fecha->format('Y-m-d')."\n";
  11. }
  12.  
  13. echo "\n";
  14.  
  15. //otro ejemplo
  16. //fecha inicial 2011-01-01
  17. $fecha = new DateTime('2011-01-01');
  18. //tiempo 3 meses
  19. $meses = 3;
  20.  
  21. for($i = 0; $i < $meses; $i++) {
  22.     $fecha->modify('+1 month');
  23.     echo $fecha->format('Y-m-d')."\n";
  24. }
  25.  
  26. ?>

Imprime:

Código:
2011-02-15
2011-03-15

2011-02-01
2011-03-01
2011-04-01
  #6 (permalink)  
Antiguo 15/01/2011, 21:51
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: suma de fechas

bng5 muchas gracias , excelente muchas gracias
  #7 (permalink)  
Antiguo 16/01/2011, 09:58
Avatar de jariza  
Fecha de Ingreso: agosto-2003
Ubicación: Málaga
Mensajes: 1.449
Antigüedad: 20 años, 8 meses
Puntos: 10
Respuesta: suma de fechas

Cita:
Iniciado por Montes28 Ver Mensaje
lo utilice asi

<? $fecha="2011-01-01";
$suma = strtotime("+1", $fecha);
echo date("Y-m-d", $suma);
?>

y me da como resultado 1969-12-31
Como te puse, $fecha debe ser un timestamp y "2011-01-01" no lo es.
  #8 (permalink)  
Antiguo 16/01/2011, 10:18
 
Fecha de Ingreso: febrero-2009
Mensajes: 218
Antigüedad: 15 años, 1 mes
Puntos: 9
Respuesta: suma de fechas

Si utilizaras la clase DateTime de php, se te simplificarían mucho las cosas.
  #9 (permalink)  
Antiguo 18/01/2011, 16:50
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: suma de fechas

amigos necesito


dada una fecha y unos meses


necesito la fecha resultante

tengo este codigo

//otro ejemplo
//fecha inicial 2011-01-01
$fecha = new DateTime('2011-01-01');
//tiempo 3 meses
$meses = 3;

for($i = 0; $i < $meses; $i++) {
$fecha->modify('+1 month');
echo $fecha->format('Y-m-d')."<br>";
}
  #10 (permalink)  
Antiguo 19/01/2011, 11:30
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 14 años, 10 meses
Puntos: 24
Respuesta: suma de fechas

Pero... en ese caso lo único que tenés que hacer es olvidarte del bucle y cambiar el parámetro que le pasas al método DateTime::modify().
Está ahí, en el código, en lugar de '+1 month': '+'.$meses.' month'

Etiquetas: fechas, suma
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:45.