Ver Mensaje Individual
  #17 (permalink)  
Antiguo 22/01/2013, 02:07
rbczgz
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Problema con Funcion de sumar fechas

Cita:
Iniciado por andresdzphp Ver Mensaje
Si, se puede modificar para sumar días, meses, años, semanas, y lo que se te ocurra. Sólo necesitas entender las funciones y los métodos.

Te recomiendo que uses la clase DateTime para evitar problemas con el año 2038.

Edito: Con la que piensas usar no podrías hacer esto:

Código PHP:
Ver original
  1. function masxmeses4($fecha, $meses, $formato) {
  2.       $dt = new DateTime($fecha);
  3.       $fe_i = $dt->format('j');
  4.      
  5.       $dt->modify("+$meses month");
  6.       $masxmeses = $dt->format('j');
  7.      
  8.       if ($fe_i != $masxmeses) {
  9.           $dt->modify("-$masxmeses days");
  10.           return $dt->format($formato);
  11.       }
  12.  
  13.       return $dt->format($formato);
  14. }
  15.  
  16. echo masxmeses4('31-12-2039', 2, 'd-m-Y'); //29-02-2040

Saludos.
Gracias andresdzphp, me has convencido, tienes toda la razón, aunque para ese año espero no tener que estar trabajando, por lo menos, los sistemas que deje funcionando, que sigan sin fallar, al menos en lo que respecta a las fechas...

Y ya que estoy, intentaré hacer lo que dices, documentarme sobre las funciones y los métodos y ver si consigo hacer una función que permita sumar (y ya puestos, restar) cualquier período de tiempo, sean días, meses o años.

El problema es que revisando el manual, no he conseguido encontrar información que yo sea capaz de entender sobre DateTime ¿se te ocurre algún sitio, a ser posible en español, donde pueda documentarme? Digo en español porque, si así ya me cuesta, ni te cuento lo que me puede costar si lo tengo que ver en inglés, que no entiendo ni la mitad...

Bueno, a ver si sale algo, si lo consigo, la postearé aquí por si alguien la necesita.

Muchas gracias de nuevo.

.