Problemas con las fechas

Hola, me llamo Leonardo. Te comento cual es mi problema. Tengo un servidor Apache con PHP y MySQL corriendo en Windows NT. Necesito armar una aplicación en la cual se guardan en una tabla los siguientes datos:
1) Un número de orden
2) La fecha en que está siendo cargada
3) Otros datos varios
El problema es que también necesito que la aplicación sume en forma automática 45 días HÁBILES a la fecha en la que se cargó. Es decir, necesito que me diga en que fecha se me vence. ¿Cómo hago para calcular esa fecha tomando en cuenta Sábados, Domingos y Feriados?
Desde ya muchas gracias
Respuesta
1
Acerca de la pregunta que me fórmulas, he de decirte que tendrás que disponer de un calendario, donde pondrías los días "Festivos". Con esto, lo que se haría es ir calculando progresivamente los días, sumando cada día hábil por el que pasamos (de lunes a viernes y teniendo en cuenta los días festivos). Esto sería mediante un bucle donde tendrás dos variables, una con los días hábiles (que tendrá como mucho un valor de 45) y otro con los días reales (sábados, domingos y festivos incluidos). El bucle se ejecutará hasta que la variable de los días hábiles llegue a 45, entonces, a partir de la variable de los días reales, obtendremos la fecha correspondiente.
No sé si esto te lo ha aclarado, si no es así, podríamos hacer el bucle.
Un saludo,
iCesofT
iCesofT:
Gracias por tomarte el tiempo de explicarme. Creo que entiendo lo que me quieres decir, pero como recién empiezo con PHP me cuesta verlo en la práctica.
Lo que entiendo es que en una variable (llamémosle "A") voy a tener cargados los días reales (todos) y de alguna manera (que es lo que todavía no se) voy a poder distinguir si es un día hábil o no; y por el otro lado voy a tener otra variable (llamémosle "B") que cada vez que la primera sea hábil va a sumar un día hasta llegar a los 45.
Si fueses tan amable de guiarme en como armar el bucle; y/o como manejar esa variable "A" te lo agradecería mucho.
Saludos
Leo
Voy a intentar hacer un bucle explicativo para que entiendas cómo se realizaría:
<?php
/* Variables */
$habiles = 0;
$reales = 0;
$fecha = date();
while ($habiles < 45) {
if (es_dia_habil(mktime(0,0,0,date('m'),date('j')+$reales,date('Y')))) {
$habiles++; // incrementamos el valor de la variable habiles
}
$reales++; // incrementamos el valor de la variable reales
}
?>
Con esto, lo más complicado sería crear la función 'es_dia_habil', que calcularía si la fecha que se le pasa como parámetro es un día hábil o no.
Fíjate en la forma de calcular la fecha utilizando la función 'mktime'. El primer parámetro es la hora, el segundo los minutos, 3º segundos, 4º meses, 5º días y 6º el año. Para los días, le sumamos los días $reales. La función se encarga de pasar al siguiente mes si la suma de días excede al mes que le ponemos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas