Ver Mensaje Individual
  #7 (permalink)  
Antiguo 30/09/2015, 11:20
Avatar de hackjose
hackjose
 
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: fechas en php

Ya solo modifica los dias feriados, puse algunos de mexico

Código PHP:
Ver original
  1. <?php
  2. $anio = 2015;
  3. $mes = 9;
  4. $dia = 1;
  5. $fecha_inicial = mktime(0,0,0,$mes,$dia,$anio);
  6. $agregar_dias = 15;
  7. $compensar_domingos = 0;
  8. $compensar_feriados = 0;
  9.  
  10. $dias_feriados_cadena = array("$anio-1-1","$anio-2-24","$anio-3-21","$anio-5-1","$anio-9-16","$anio-11-1","$anio-11-2","$anio-12-25");
  11.  
  12. $dias_feriados_numero = array();
  13. foreach($dias_feriados_cadena as $value)
  14. {
  15.     $dias_feriados_numero[] = date("z",strtotime($value));
  16. }
  17.  
  18. $dias_del_anio = array();
  19. for($i = 1;$i <= $agregar_dias;$i++)
  20. {
  21.     $fecha_inicial_mas_dias = strtotime ( "+$i day" , $fecha_inicial ) ;
  22.    
  23.     $dia_del_anio = date("z",$fecha_inicial_mas_dias);
  24.     foreach($dias_feriados_numero as $value)
  25.     {
  26.         if($value == $dia_del_anio)
  27.         {
  28.             $compensar_feriados++;
  29.         }
  30.     }
  31.    
  32.     if(date("N",$fecha_inicial_mas_dias) == 7)
  33.     {
  34.         $compensar_domingos++;
  35.     }
  36. }
  37.  
  38. $dias_agregar_total = $compensar_feriados + $compensar_domingos;
  39. $agregar_dias += $dias_agregar_total;
  40. echo date ( 'Y-m-d' , strtotime("+$agregar_dias day",$fecha_inicial) );
  41. ?>

Saludos