Autor
|
Tema: Función suma días (Leído 3,594 veces)
|
Ensy
Desconectado
Mensajes: 17
|
Hola!!
Estoy intentando hacer una función que sume un número de días determinado a una fecha teniendo en cuenta si pilla bisiestos.
De todas las formas que he probado siempre me falla algo y estoy un poco saturada.
Si alguien tiene alguna y la compartiera conmigo se lo agradecería mucho!! Porque las que he encontrado por internet tampoco funcionan...
Un saludo y muchas gracias!! Ensy
|
|
|
En línea
|
|
|
|
Spider-Net
Desconectado
Mensajes: 1.165
Un gran poder conlleva una gran responsabilidad
|
Yo suelo usar esta: // Función: suma_dias // Recibe: una fecha en formato dia-mes-año // Devuelve: la fecha con el número de días sumado en formato dia-mes-año function suma_dias($fecha,$ndias){ if (preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha)){ } if (preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha)){ } $nueva=mktime(0,0,0, $mes,$dia,$año ) + $ndias * 24 * 60 * 60; $nuevafecha=date("d-m-Y",$nueva); return ($nuevafecha); }
Funciona bien, aunque creo que alguna vez me dió algún error y creo que fue precisamente por eso, por los años bisiestos...
|
|
|
En línea
|
|
|
|
Ensy
Desconectado
Mensajes: 17
|
Muchas gracias!! Esa que me muestras me ha dado errores, hay veces que no lo calcula bien... te paso esta que no me ha dado ningún fallo. function sumarDiasFecha($fecha,$dias) { //Hay que sumarle un dia menos para que me cuente el dia de la fecha //desde la que empieza a sumar. //Si no se quiere contabilizar ese dia no se resta y listo. $dias--; //Formato de $fecha 00/00/0000 dia/mes/anio //Devuelve formato 0000-00-00 asi que lo cambio al formato para mostrar $nfecha = "$dia/$mes/$anio"; return $nfecha; }
Saludos!!
|
|
|
En línea
|
|
|
|
Spider-Net
Desconectado
Mensajes: 1.165
Un gran poder conlleva una gran responsabilidad
|
Perfecto, pues muchas gracias a ti porque al final me has ayudado tú a mí en lugar de yo a ti  Un saludo y gracias.
|
|
|
En línea
|
|
|
|
|
|