Abaixo uma função que calcula uma lista de feriados nacionais do ano corrente até 2037. A mágica dos feriados dinâmicos, que tem como base a páscoa, é feita com a função easter_date() do PHP.
<? function dias_feriados($ano = null){ if ($ano === null){ $ano = intval(date('Y')); } $pascoa = easter_date($ano); // Limite entre 1970 a 2037 conforme http://www.php.net/manual/pt_BR/function.easter-date.php $dia_pascoa = date('j', $pascoa); $mes_pascoa = date('n', $pascoa); $ano_pascoa = date('Y', $pascoa); $feriados = array( // Datas Fixas dos feriados brasileiros 'Ano Novo' => mktime(0, 0, 0, 1, 1, $ano), // Confraternização Universal - Lei nº 662, de 06/04/49 'Tiradentes' => mktime(0, 0, 0, 4, 21, $ano), // Tiradentes - Lei nº 662, de 06/04/49 'Dia do Trabalhador' => mktime(0, 0, 0, 5, 1, $ano), // Dia do Trabalhador - Lei nº 662, de 06/04/49 'Independência do Brasil' => mktime(0, 0, 0, 9, 7, $ano), // Dia da Independência - Lei nº 662, de 06/04/49 'Nossa Senhora Aparecida' => mktime(0, 0, 0, 10, 12, $ano), // N. S. Aparecida - Lei nº 6802, de 30/06/80 'Finados' => mktime(0, 0, 0, 11, 2, $ano), // Todos os santos - Lei nº 662, de 06/04/49 'Proclamação da República' => mktime(0, 0, 0, 11, 15, $ano), // Proclamação da republica - Lei nº 662, de 06/04/49 'Natal' => mktime(0, 0, 0, 12, 25, $ano), // Natal - Lei nº 662, de 06/04/49 // Essas datas dependem da páscoa 'Segunda de Carnaval' => mktime(0, 0, 0, $mes_pascoa, $dia_pascoa - 48, $ano_pascoa),//2ºferia Carnaval 'Terça de Carnaval' => mktime(0, 0, 0, $mes_pascoa, $dia_pascoa - 47, $ano_pascoa),//3ºferia Carnaval 'Sexta-feira da Paixão' => mktime(0, 0, 0, $mes_pascoa, $dia_pascoa - 2 , $ano_pascoa),//6ºfeira Santa 'Páscoa' => mktime(0, 0, 0, $mes_pascoa, $dia_pascoa , $ano_pascoa),//Pascoa 'Corpus Christi' => mktime(0, 0, 0, $mes_pascoa, $dia_pascoa + 60, $ano_pascoa),//Corpus Cirist ); asort($feriados); return $feriados; } $ano_=date("Y"); //ano corrente for($i=$ano_; $i <= 2037; $i++){ echo "=========== ANO $i ===========\n"; foreach(dias_feriados($i) as $descricao => $data){ echo date("d-m-Y",$data)." => $descricao\n"; } echo "\n"; } ?>
Peguei a base do código de https://www.codigofonte.com.br/codigos/funcao-que-calcula-os-feriados-brasileiros-em-php
show amigo vc merece um prêmio por isto
Muito obrigado por fornecer esse código!!
Show filhão, muito bom esse codigo