elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Función suma días
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Función suma días  (Leído 3,352 veces)
Ensy

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Función suma días
« en: 16 Septiembre 2009, 10:50 am »

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 Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: Función suma días
« Respuesta #1 en: 16 Septiembre 2009, 17:59 pm »

Yo suelo usar esta:

Código
  1. // Función: suma_dias
  2. // Recibe: una fecha en formato dia-mes-año
  3. // Devuelve: la fecha con el número de días sumado en formato dia-mes-año
  4. function suma_dias($fecha,$ndias){
  5. if (preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha)){
  6. list($dia,$mes,$año)=split("/", $fecha);
  7. }
  8.  
  9. if (preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha)){
  10. list($dia,$mes,$año)=split("-",$fecha);
  11. }
  12. $nueva=mktime(0,0,0, $mes,$dia,$año) + $ndias * 24 * 60 * 60;
  13. $nuevafecha=date("d-m-Y",$nueva);
  14.  
  15. return ($nuevafecha);  
  16. }

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 Desconectado

Mensajes: 17


Ver Perfil
Re: Función suma días
« Respuesta #2 en: 18 Septiembre 2009, 10:16 am »

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.

Código
  1. function sumarDiasFecha($fecha,$dias)
  2. {
  3.   //Hay que sumarle un dia menos para que me cuente el dia de la fecha
  4.   //desde la que empieza a sumar.
  5.   //Si no se quiere contabilizar ese dia no se resta y listo.
  6.   $dias--;
  7.   //Formato de $fecha 00/00/0000 dia/mes/año
  8.   $dia = substr($fecha,0,2);
  9.   $mes = substr($fecha,3,2);
  10.   $año = substr($fecha,6,4);
  11.   $nfecha = date("Y-m-d", mktime(0,0,0,date($mes),date($dia)+$dias,date($año)));
  12.   //Devuelve formato 0000-00-00 asi que lo cambio al formato para mostrar
  13.   $año = substr($nfecha,0,4);
  14.   $mes = substr($nfecha,5,2);
  15.   $dia = substr($nfecha,8,2);
  16.   $nfecha = "$dia/$mes/$año";
  17.   return $nfecha;
  18. }
  19.  

Saludos!!
En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: Función suma días
« Respuesta #3 en: 22 Septiembre 2009, 12:24 pm »

Perfecto, pues muchas gracias a ti porque al final me has ayudado tú a mí en lugar de yo a ti  ;D

Un saludo y gracias.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[AYUDA] Funcion que suma
Programación C/C++
Sothu 2 1,647 Último mensaje 7 Noviembre 2015, 21:53 pm
por furciorifa
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines