Sie sind auf Seite 1von 5

http://www.feriadosmunicipais.com.br/feriados-nacionais/ http://www.brasil.gov.

br/sobre/o-brasil/estado-brasileiro/feriados-nacionais ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++ 01/01/2013 ( tera-feira ) - Confraternizao universal ( Feriado nacional ) 12/02/2013 ( tera-feira ) - Carnaval 13/02/2013 ( quarta-feira ) - Cinzas 16/02/2013 ( sbado ) - Fim do horrio de vero 08/03/2013 ( sexta-feira ) - Dia Internacional da Mulher 21/03/2013 ( quinta-feira ) - Incio do outono 29/03/2013 ( sexta-feira ) - Paixo de Cristo 31/03/2013 ( domingo ) - Pscoa 19/04/2013 ( sexta-feira ) - Dia do ndio 21/04/2013 ( domingo ) - Tiradentes ( Feriado nacional ) 22/04/2013 ( segunda-feira ) - Descobrimento do Brasil 01/05/2013 ( quarta-feira ) - Dia do Trabalho ( Feriado nacional ) 12/05/2013 ( domingo ) - Dia das mes 30/05/2013 ( quinta-feira ) - Corpus Christi 12/06/2013 ( quarta-feira ) - Dia dos Namorados 21/06/2013 ( sexta-feira ) - Incio do inverno 11/08/2013 ( domingo ) - Dia dos Pais 07/09/2013 ( sbado ) - Independncia do Brasil ( Feriado nacional ) 23/09/2013 ( segunda-feira ) - Incio da primavera 12/10/2013 ( sbado ) - Nossa Senhora Aparecida ( Feriado nacional ) 15/10/2013 ( tera-feira ) - Dia dos Professores 20/10/2013 ( domingo ) - Incio do horrio de vero 02/11/2013 ( sbado ) - Finados ( Feriado nacional ) 15/11/2013 ( sexta-feira ) - Proclamao da Repblica ( Feriado nacional ) 19/11/2013 ( tera-feira ) - Dia da Bandeira 20/11/2013 ( quarta-feira ) - Dia da Conscincia Negra 21/12/2013 ( sbado ) - Incio do vero 25/12/2013 ( quarta-feira ) - Natal ( Feriado nacional ) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++ http://www.planetadelphi.com.br/dica/5912/retorna-se-uma-data-e-feriado-movel Retorna se uma data feriado mvel function FeriadoMovel(Data : TDateTime) : Boolean; var a, b, c, d, e, f, g, h, i, k, l, m, p, q, Ano, Mes, Dia : Word; begin Result := False; DecodeDate(Data, Ano, Mes, Dia); A := (Ano mod 19); B := (Ano div 100); C := (Ano mod 100); D := (B div 4); E := (B mod 4); F := ((B + 8) div 25); G := ((B - F + 1) div 3); H := ((19 * A + B - D - G + 15) mod 30); I := (C div 4); K := (C mod 4); L := ((32 + 2 * E + 2 * I - H - K) mod 7); M := ((A + 11 * H + 22 * L) div 451); P := ((H + L - 7 * M + 114) div 31); Q := ((H + L - 7 * M + 114) mod 31) + 1; if EncodeDate(ano, p, q) = Data then Result := True; if EncodeDate(ano, p, q) - 2 = Data then Result := True; if EncodeDate(ano, p, q) - 47 = Data then Result := True; if EncodeDate(ano, p, q) + 60 = Data then Result := True;

end; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++ http://beckershow.blogspot.com/2008/05/rotina-para-tratar-dias-uteis-e.html "Rotina para tratar dias uteis e feriados - Delphi" class function TFuncoesClass.TratarDiasUteis(data: TDate): TDate; // Tratar final de semana, sabado e domingo jogar para segunda feira function TratarFinalSemana(data: TDate): TDate; begin // Domingo - > + 1 para ir para segunda if (DayOfWeek(data) = 1) then Result := IncDay(data, 1) // Sabado - > + 2 para ir para segunda else if (DayOfWeek(data) = 7) then Result := IncDay(data, 2) // Segunda, tera, quarta, quinta, sexta - feira , resutlar a prpria data else Result := data; end; // tratar a data da pascoa, pois descobrindo a pascoa chegaremos a sexta feira santa function SextaFeiraSanta(data: TDate): String; var dia, mes, ano: Word; x, y, resto1, resto2, resto3, resto4, resto5 : integer; diaMes, diaMesAno: String; begin // Para calcular o dia da Pscoa (Domingo), usa-se a frmula abaixo, // onde o "ANO" deve ser introduzido com 4 dgitos. // O operador MOD o resto da diviso. A frmula vale para anos entre 1901 e 2099. // A frmula pode ser estendida para outros anos, alterando X e Y conforme a tabe la a seguir: olhar no site // http://pt.wikipedia.org/wiki/C%C3%A1lculo_da_P%C3%A1scoa ano := YearOf(data); case ano of 2000..2099: begin x := 24; Y := 5; end; 2100..2199: begin x := 24; y := 6;

end; 2200..2299: begin x := 25; y := 7; end; end; resto1 resto2 resto3 resto4 resto5 := := := := := ano mod 19; ano mod 4; ano mod 7; ((19 * resto1) + x) mod 30; ((2 * resto2) + (4 * resto3) + (6 * resto4) + y) mod 7;

if (resto4 + resto5) < 10 then begin dia := (resto4 + resto5 + 22); mes := 3; end else begin dia := (resto4 + resto5 - 9); mes := 4; end; diaMes := FormatFloat('00', dia) + '/' + FormatFloat('00', mes); // 1. quando o domingo de Pscoa calculado for em 26 de Abril, corrige-se para um a semana antes, ou seja, 19 de Abril. // 2. quando o domingo de Pscoa calculado for em 25 de Abril e d=28 e a>10, ento a Pscoa em 18 de Abril. if (diaMes = '26/04') then diaMes := '19/04' else if (diaMes = '25/04') and (resto4 = 25) and (resto1 > 10) then diaMes := '18/04'; // descobrimos a data da pascoa , agora temos que descontar 2 para chegar na se xta que seria a sexta-feria santa diaMesAno := FormatDateTime('dd/mm/yyyy', IncDay(StrToDate(diaMes + '/' + forma tFloat('0000', ano)), -2)); Result := diaMesAno; end; // corpus christi function CorpusChristi(data: TDate): string; var sextaSanta: string; begin // Para calcular a Quinta-feira de Corpus Christi, soma-se 60 dias ao Domingo d e Pscoa, 58 pois considera-se a sexta feira. sextaSanta := SextaFeiraSanta(data); Result := FormatDateTime('dd/mm/yyyy', IncDay(StrToDate(sextaSanta), 62)); end; // Carnaval function Carnaval(data: TDate): string; var

sextaSanta: string; begin // Para calcular a Tera-feira de Carnaval, basta subtrair 47 dias do Domingo de Pscoa, 45 pois considera a sexta. sextaSanta := SextaFeiraSanta(data); Result := FormatDateTime('dd/mm/yyyy', IncDay(StrToDate(sextaSanta), - 45)); end; var dataAux: string; begin // Rotina que verifica se um determinado dia cai nos feriados relacionados abai xo: // Se acaso cair, acrescentar sempre um dia a mais, no considerar sabados e domi ngos; {01/01 - Confraternizao Universal 21/04 - Tiradentes 01/05 - Dia do Trabalho 07/09 - Independncia do Brasil 12/10 - Nossa Senhora Aparecida 02/11 - Finados 15/11 - Proclamao da Repblica 25/12 - Natal ??/?? - Pascoa (a calcular) // rever (Sesxta-Feira Santa) ??/?? - Corpus Christi (a calcular) Para calcular a Quinta-feira de Corpus Chri sti, soma-se 60 dias ao Domingo de Pscoa. ??/?? - Feriado carnaval (a calcular) Para calcular a Tera-feira de Carnaval, ba sta subtrair 47 dias do Domingo de Pscoa.} // Pegar somente o dd/mm dataAux := FormatDateTime('dd/mm', data); // Confraternizao Universal if (dataAux = '01/01') then result := TratarFinalSemana(IncDay(data, 1)) // Tiradentes else if (dataAux = '21/04') then Result := TratarFinalSemana(IncDay(data, 1)) // Dia do Trabalho else if (dataAux = '01/05') then Result := TratarFinalSemana(IncDay(data, 1)) // Independncia do Brasil else if (dataAux = '07/09') then Result := TratarFinalSemana(IncDay(data, 1)) // Nossa Senhora Aparecida else if (dataAux = '12/10') then Result := TratarFinalSemana(IncDay(data, 1)) // Finados else if (dataAux = '02/11') then Result := TratarFinalSemana(IncDay(data, 1)) // Proclamao da Repblica else if (dataAux = '15/11') then Result := TratarFinalSemana(IncDay(data, 1))

// Natal else if (dataAux = '25/12') then Result := TratarFinalSemana(IncDay(data, 1)) // Sexta - Feira Santa = acrescenta + 3 para cair na segunda - feira else if FormatDateTime('dd/mm/yyyy', data) = (SextaFeiraSanta(data)) then Result := IncDay(data, 3) // Corpus Christi // Para calcular a Quinta-feira de Corpus Christi, soma-se 60 dias ao Domingo d e Pscoa, 62 pois considera-se a sexta feira. else if FormatDateTime('dd/mm/yyyy', data) = CorpusChristi(data) then Result := TratarFinalSemana(IncDay(data, 1)) // Tera- Feria de carnaval // Para calcular a Tera-feira de Carnaval, basta subtrair 47 dias do Domingo de Pscoa, 45 pois considera a sexta. else if FormatDateTime('dd/mm/yyyy', data) = Carnaval(data) then Result := TratarFinalSemana(IncDay(data, 1)) // Nenhuma -> somente verificar o final de semana else Result := TratarFinalSemana(data) end;

Das könnte Ihnen auch gefallen