Comunidad de diseño web y desarrollo en internet online

PHP sumar días habiles en php

Citar            
MensajeEscrito el 28 Nov 2015 04:26 pm
Buenas espero que me puedan ayudar
estoy queriendo sumar 10 días hábiles (Lunes a Viernes) y sin contar feriados
a partir de una fecha
Lo que hecho es sumarle 10 días pero no quiero que cuente los sábados ni domingos y tampoco los feriados

Por ejemplo estos son algunos feriados

2015-12-08 2015-12-25 2016-01-01


<?php

require_once('conexion.php');

$num_accion=$_POST['num_accion'];
$fecha_noti=$_POST['fecha_noti'];

$fecha_venci_noti= date("Y-m-d", strtotime("$fecha_noti + 10 days"));

$sql="update tbldias set

dc_fecha_noti='".$fecha_noti."',
dc_fecha_venci_noti='".$fecha_venci_noti."'

where dc_num_accion=".$num_accion;

$res=mysql_query($sql,$cnx);

?>

Por tomasvreal28

17 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Nov 2015 12:01 pm
Necesitas saber cuáles son los feriados primero. ¿Los sabes?.

Por DriverOp

Claber

2510 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Nov 2015 10:43 pm

DriverOp escribió:

Necesitas saber cuáles son los feriados primero. ¿Los sabes?.

Por tomasvreal28

17 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Nov 2015 10:43 pm
Si Por ejemplo estos son algunos feriados

2015-12-08 2015-12-25 2016-01-01

estoy tratando de sumar 10 días hábiles (Lunes a Viernes) y sin contar feriados ni sábados ni domingos

Por tomasvreal28

17 de clabLevel



 

chrome
Citar            
MensajeEscrito el 01 Dic 2015 01:26 pm
Pues...
1.- primero tendrías que determinar la fecha de inicio y la fecha de fin del período.

2.- Calcular cuántos días corridos hay entre la fecha de inicio y fin del período.

3.- Luego contar cuántos feriados caen dentro de ese período y guardarte ese número.

4.- Luego determinar las fechas de los fines de semana hay entre la fecha de inicio y de fin del período.

5.- Luego determinar si alguno de los feriados coincide con alguna fecha de fin de semana. Si es así, restar un día feriado si los hubiera (paso 2).

6.- Restar a los días feriados a los días corridos y luego restar los días de fin de semana a los días corridos y allí tienes los días hábiles del período considerado.

Ve paso por paso y las cosas se te harán más fáciles.

Pregunta lo que tengas dudas.

Publica el código.

Por DriverOp

Claber

2510 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 Dic 2015 12:07 am
Bueno aquí es donde se guarda
el formulario esta en otro archivo
lo que pasa es que una vez que se registra
--> fecha_noti_comu
la --> fecha_venci_not_comu se guarda sumando 10 días pero quiero que sean días hábiles de los Luneas a Viernes y sin contar los feriados
por ejemplo estos son algunos feriado
-2015-12-08
-2015-12-25
-2016-01-01

Código PHP :

 <?php

require_once('conexion.php');

$num_accion=$_POST['num_accion'];
$fecha_comunicacion=$_POST['fecha_comunicacion'];
$num_comunicacion=$_POST['num_comunicacion'];
$fecha_noti_comu=$_POST['fecha_noti_comu'];
$estado=$_POST['estado'];

$fecha_venci_not_comu= date("Y-m-d", strtotime("$fecha_noti_comu + 10 days"));

$dependencia=$_POST['dependencia'];
$traslado=$_POST['traslado'];

$sql="update tbldocumentosicr set icr_dependencia='".$dependencia."',icr_fecha_comunicacion='".$fecha_comunicacion."',icr_num_comunicacion='".$num_comunicacion."',
icr_fecha_noti_comu='".$fecha_noti_comu."',icr_estado='".$estado."',icr_fecha_venci_not_comu='".$fecha_venci_not_comu."',
icr_dependencia='".$dependencia."',icr_traslado='".$traslado."'
where icr_num_accion=".$num_accion;
$res=mysql_query($sql,$cnx);

?>

Por tomasvreal28

17 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.