Calculando dias úteis com php

Crédito sxc.hu
Essa é uma função que desenvolvi segundo a necessidade de um amigo,  ela executa o calculo de dias úteis em determinado mês, para o script ficar completo só é necessário a criação de uma tabela no banco de dados onde serão registrados os feriados, se eu conseguir um tempinho no final de semana, termino o script, e aproveito para ensinar como criar uma tabela, inserir e editar um registro.



/**
 * Função que calcula dias úteis no mês
 * 
 * @autor Carlos Maniero 
 */


function dias_uteis($mes,$ano){
  
  $uteis = 0;
  // Obtém o número de dias no mês 
  // (http://php.net/manual/en/function.cal-days-in-month.php)
  $dias_no_mes = cal_days_in_month(CAL_GREGORIAN, $mes, $ano); 

  for($dia = 1; $dia <= $dias_no_mes; $dia++){

    // Aqui você pode verifica se tem feriado
    // ----------------------------------------
    // Obtém o timestamp
    // (http://php.net/manual/pt_BR/function.mktime.php)
    $timestamp = mktime(0, 0, 0, $mes, $dia, $ano);
    $semana    = date("N", $timestamp);

    if($semana < 6) $uteis++;

  }

  return $uteis;

}


// Invocando a função
echo dias_uteis(date('m'),date('Y')); // Recebe dias úteis do mês atual
echo dias_uteis(1,2012); // Recebe dias úteis do mês 1 de 2012

4 comentários:

Silvio disse...

Cara parabéns pelo código, bem objetivo! Só faltou mesmo a interação com o banco de dados.

Unknown disse...

Fico feliz por ter sido útil pra você.

Abraço

Cleiton disse...

Top;

JonKill disse...

Ficou muito bom mas como você verifica se o dia é feriado?