Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/12/2015, 09:49
Avatar de el_cesar
el_cesar
 
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Calcular Festivos y Fines de Semana

Este es el codigo con las correcta numeracion de linea, pues veo que la linea 52 nno corresponde a la misma que tengo en sublime text
Código PHP:
Ver original
  1. <?php
  2. function DiasHabiles($fecha_inicial,$fecha_final)
  3. {
  4. list($dia,$mes,$year) = explode("-",$fecha_inicial);
  5. $ini = mktime(0, 0, 0, $mes , $dia, $year);
  6. list($diaf,$mesf,$yearf) = explode("-",$fecha_final);
  7. $fin = mktime(0, 0, 0, $mesf , $diaf, $yearf);
  8.  
  9. $r = 1;
  10. while($ini != $fin)
  11. {
  12. $ini = mktime(0, 0, 0, $mes , $dia+$r, $year);
  13. $newArray[]=$ini;  
  14. $r++;
  15. }
  16. return $newArray;
  17. }
  18.  
  19.  
  20. function Evalua($arreglo)
  21. {
  22. $feriados        = array(
  23. '1-1',  //  Año Nuevo (irrenunciable)
  24. '10-4',  //  Viernes Santo (feriado religioso)
  25. '11-4',  //  Sábado Santo (feriado religioso)
  26. '1-5',  //  Día Nacional del Trabajo (irrenunciable)
  27. '21-5',  //  Día de las Glorias Navales
  28. '29-6',  //  San Pedro y San Pablo (feriado religioso)
  29. '16-7',  //  Virgen del Carmen (feriado religioso)
  30. '15-8',  //  Asunción de la Virgen (feriado religioso)
  31. '18-9',  //  Día de la Independencia (irrenunciable)
  32. '19-9',  //  Día de las Glorias del Ejército
  33. '12-10',  //  Aniversario del Descubrimiento de América
  34. '31-10',  //  Día Nacional de las Iglesias Evangélicas y Protestantes (feriado religioso)
  35. '1-11',  //  Día de Todos los Santos (feriado religioso)
  36. '8-12',  //  Inmaculada Concepción de la Virgen (feriado religioso)
  37. '13-12',  //  elecciones presidencial y parlamentarias (puede que se traslade al domingo 13)
  38. '25-12',  //  Natividad del Señor (feriado religioso) (irrenunciable)
  39. );
  40.  
  41.  
  42. $j= count($arreglo);
  43.  
  44. for($i=0;$i<=$j;$i++)
  45. {
  46. $dia = $arreglo[$i];
  47.  
  48.         $fecha = getdate($dia);
  49.             $feriado = $fecha['mday']."-".$fecha['mon'];
  50.                     if($fecha["wday"]==0 or $fecha["wday"]==6)
  51.                     {
  52.                         $dia_ ++;
  53.                     }
  54.                         elseif(in_array($feriado,$feriados))
  55.                         {    
  56.                             $dia_++;
  57.                         }
  58. }
  59. $rlt = $j - $dia_;
  60. return $rlt;
  61. }
  62.  
  63. $CantidadDiasHabiles = Evalua(DiasHabiles('19-10-2010','28-12-2010'));
  64.  
  65. echo   $CantidadDiasHabiles;
  66.  ?>
__________________
Say no more.......