Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/11/2018, 14:55
paez903
 
Fecha de Ingreso: marzo-2016
Ubicación: venezuela
Mensajes: 12
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: sumar dias habiles en cha mas no dias fines de semana

Cita:
Iniciado por hhs Ver Mensaje
Esto se a tratado en otras ocasiones,
Código PHP:
Ver original
  1. $holiday = array(
  2.     '01-01',  //  Año Nuevo (irrenunciable)
  3.     '10-04',  //  Viernes Santo (feriado religioso)
  4.     '11-04',  //  Sábado Santo (feriado religioso)
  5.     '01-05',  //  Día Nacional del Trabajo (irrenunciable)
  6.     '21-05',  //  Día de las Glorias Navales
  7.     '29-06',  //  San Pedro y San Pablo (feriado religioso)
  8.     '16-07',  //  Virgen del Carmen (feriado religioso)
  9.     '15-08',  //  Asunción de la Virgen (feriado religioso)
  10.     '18-09',  //  Día de la Independencia (irrenunciable)
  11.     '19-09',  //  Día de las Glorias del Ejército
  12.     '12-10',  //  Aniversario del Descubrimiento de América
  13.     '31-10',  //  Día Nacional de las Iglesias Evangélicas y Protestantes (feriado religioso)
  14.     '01-11',  //  Día de Todos los Santos (feriado religioso)
  15.     '08-12',  //  Inmaculada Concepción de la Virgen (feriado religioso)
  16.     '13-12',  //  elecciones presidencial y parlamentarias (puede que se traslade al domingo 13)
  17.     '25-12',  //  Natividad del Señor (feriado religioso) (irrenunciable)
  18. );
  19.  
  20. $startDate = (new DateTime( '2018-11-01' ));    //inicia
  21. $endDate = (new DateTime( '2018-11-15' ))->modify('+1 day');    //termina
  22.  
  23. $interval = new DateInterval('P1D');    // intervalo de un día
  24. /** @var \DateTime[] $date_range */
  25. $date_range = new DatePeriod($startDate, $interval ,$endDate); //creamos rango de fechas
  26.  
  27. $workdays = 0;
  28. foreach($date_range as $date){
  29.     //Se considera el fin de semana y los feriados como no hábiles
  30.     if($date->format("N") <6 AND !in_array($date->format("d-m"),$holiday))
  31.         ++$workdays; // se cuentan los días habiles
  32. }
  33.  
  34. var_dump($workdays);
Ahí tienes un ejemplo, que publique por ahí del 2015 si no mal recuerdo aquí en el foro.

saludos de verdad mucha gracias por la ayuda sera que me puedes explicar un poquito el codigo lo estoy corriendo para tratar de entenderlo pero da error no lo correo claro lo he guardado como ur archi php. entiendo que esto es es donde me muestra como el tiempo o periodo de 1 dias no estoy seguro 'P1D'.?