Datas e feriados
Feriados, dias úteis e datas por extenso.
Add business days
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Soma um número de dias úteis a uma data. Avança um dia do calendário por vez e conta só os dias que date.isBusinessDay aceita com as mesmas options.
- Retorna uma nova data e mantém a hora do dia. A função nunca altera a entrada. Quando o dia do resultado não tem essa hora (um salto de horário de verão), o resultado é o instante mais próximo daquele dia.
- Um
amountde 0 retorna a mesma data, mesmo em um dia que não é útil. Umamountnegativo recua. options.includeOptional(padrão true) conta os feriados opcionais (segunda e terça de Carnaval, Corpus Christi) como dias não úteis. Com false, só contam os feriadosnationalestate, então Corpus Christi continua contando no DF, no MA a partir de 2024 e no RJ a partir de 2026, onde é feriado estadual.options.includeSaturday(padrão false) conta o sábado como dia útil, a contagem trabalhista do prazo do salário (CLT art. 459 § 1º, lida pela IN MTP nº 2/2021, art. 14, I). Domingo e feriados continuam excluídos, inclusive feriado que cai no sábado (Finados 02/11/2024, Independência 07/09/2024).includeSaturdaynão cobre feriados municipais, que a IN também exclui. Uma contagem exata para um município precisa removê-los à parte. Por isso o nome da opção não promete "CLT".- Um valor avaliado como verdadeiro (truthy) que não é booleano (por exemplo
"false") ligaincludeSaturdayouincludeOptional. options.stateCodeé lido sem diferenciar maiúsculas de minúsculas e sem os espaços das pontas, como em toda função que recebe UF:"sp"e" SP "somam os feriados de São Paulo. Só umstateCodeomitido (undefined) significa apenas feriados nacionais.- Um
stateCodepresente que não é sigla de estado ("XX","","__proto__", um número,null, um objeto) é rejeitado: a função retornanullsem olhar a data. A 2.4.0 recorria em silêncio aos feriados nacionais para uma sigla desconhecida ou em minúsculas, então"sp"contava 9 de julho como dia útil em São Paulo. - Retorna
nullpara uma data inválida, umamountque não é inteiro finito, ou um início ou resultado fora dos anos 1900 a 2099. - O avanço sempre termina. A 2.4.0 podia entrar em loop infinito em fusos onde um dia local não existe (Pacific/Apia e Pacific/Fakaofo em 30/12/2011, Pacific/Kiritimati e Pacific/Enderbury em 31/12/1994, Pacific/Kwajalein em 21/08/1993); agora o avanço pula esse dia. O deslocamento de meia hora de Australia/Lord_Howe também foi corrigido. Os demais resultados não mudam.
Receitas (não existe helper próprio):
- Próximo dia útil:
addBusinessDays(d, 1). - N-ésimo dia útil do mês:
addBusinessDays(new Date(y, m, 0), n), partindo do último dia do mês anterior. Senpassar do número de dias úteis do mês, o resultado cai no mês seguinte; confira o mês. - Último dia útil do mês:
subBusinessDays(new Date(y, m + 1, 1), 1), partindo do primeiro dia do mês seguinte. - Casos-limite: o n-ésimo dia útil de janeiro/1900 e o último dia útil de dezembro/2099 retornam
null, porque o dia de partida fica fora de 1900 a 2099. - Com
{ includeSaturday: true }a mesma receita dá o "quinto dia útil" trabalhista:addBusinessDays(new Date(2024, 2, 0), 5, { includeSaturday: true })é quarta 06/03/2024, enquanto a contagem bancária, sem a opção, é quinta 07/03/2024.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
date | Date | sim |
amount | number | sim |
options | BusinessDayOptions | não |
options.stateCode | StateCode | não |
options.includeOptional | boolean | não |
options.includeSaturday | boolean | não |
| retorna | Date | null |
Soma dias úteis a uma data, pulando sábados, domingos e os feriados que isBusinessDay considera. Assinatura: addBusinessDays(date, amount, options?), a mesma do date-fns.
- Opções (
BusinessDayOptions, as mesmas deisBusinessDay):includeOptional(padrãotrue) também pula a segunda e a terça-feira de Carnaval e o Corpus Christi;includeSaturday(padrãofalse) conta o sábado como dia útil;stateCodetambém pula os feriados daquele estado. - Retorna um novo
Date, com o horário preservado;datenão é alterado. amountigual a0retorna a mesma data, mesmo em fim de semana ou feriado. Umamountnegativo anda para trás.- Retorna
nullquandodateé inválido,amountnão é um inteiro finito,stateCodeestá presente e não é uma sigla de estado ou o resultado sai dos anos de 1900 a 2099.
import { addBusinessDays } from '@brazilian-utils/brazilian-utils';
addBusinessDays(new Date(2024, 0, 2, 12), 1); // Date, 2024-01-03 12:00 (o dia seguinte já é útil)
addBusinessDays(new Date(2024, 11, 31, 12), 1); // Date, 2025-01-02 12:00 (2025-01-01 é Ano novo, pulado)
addBusinessDays(new Date(2024, 0, 5, 12), -1); // Date, 2024-01-04 12:00 (anda para trás)
addBusinessDays(new Date(2024, 0, 6, 12), 0); // Date, 2024-01-06 12:00 (sem alteração, mesmo o sábado não sendo dia útil)
addBusinessDays(new Date(2024, 0, 5, 12), 1, { includeSaturday: true }); // Date, 2024-01-06 12:00 (contagem trabalhista, o sábado conta)
addBusinessDays(new Date(2024, 10, 1, 12), 1, { includeSaturday: true }); // Date, 2024-11-04 12:00 (2024-11-02 é Finados, feriado em um sábado)
addBusinessDays(new Date(2024, 6, 8, 12), 1, { stateCode: 'SP' }); // Date, 2024-07-10 12:00 (2024-07-09 é a Revolução Constitucionalista em SP, pulado)
addBusinessDays(new Date('not a date'), 1); // null
addBusinessDays(new Date(2024, 0, 2), 1.5); // null (não é um número inteiro)Teste com JavaScript addBusinessDays
Casos de teste compartilhados (0) e o resultado em cada biblioteca date.addBusinessDays
Esta função ainda não tem casos de teste compartilhados.
Escrever por extenso
- JavaScript, biblioteca
- Python, biblioteca32 casos falham
- Go, biblioteca2 casos falham
- Ruby, biblioteca4 casos falham
- Rust, biblioteca
- .NET, biblioteca1 caso falha
- Erlang, biblioteca
Escreve uma data por extenso em português, por exemplo "primeiro de janeiro de dois mil e vinte e quatro".
valueé uma data (a data local do calendário) ou uma stringdd/mm/yyyyou ISOyyyy-mm-dd.options.style(padrão"full") escreve por extenso o dia, o mês e o ano ("dois de março de dois mil e vinte e quatro")."month"escreve por extenso só o mês e deixa o dia e o ano em algarismos ("2 de março de 2024"), com o dia 1 como1º("1º de janeiro de 2024"). Qualquer outro valor é ignorado e usa-se"full".options.weekday(padrão false) coloca na frente o nome do dia da semana em minúsculas e uma vírgula ("sábado, dois de março de dois mil e vinte e quatro"). O dia da semana vem da data resolvida: a data local de um valor de data, ou a data lida de uma string. Combina com os dois estilos.styleeweekdaysão lidos de forma estrita: só"month"e sótruemudam a saída."true"ou1emweekdaynão fazem nada.- O dia 1 é "primeiro" no estilo
full. - No estilo
fullo ano é escrito comonumber.convertToWordso escreve (1999vira "mil novecentos e noventa e nove",2000vira "dois mil"). O resultado é sempre em minúsculas. - 29 de fevereiro só é aceito em anos bissextos do calendário gregoriano proléptico (divisíveis por 4, exceto séculos não divisíveis por 400). Uma string precisa casar exatamente com
dd/mm/yyyyouyyyy-mm-dd, sem nenhum outro caractere em volta.
Decisão pendente
A referência (JS) escreve tudo em minúsculas e interpreta strings ISO. Go e Ruby usam inicial maiúscula e não interpretam strings ISO. Veja a decisão em aberto em docs/findings.md (em inglês).
Decisão pendente
A referência (JS) retorna uma string vazia para uma data inválida, uma string malformada, um dia ou mês que não existe ou um ano antes de 1. As outras bibliotecas retornam null. Veja a decisão em aberto em docs/findings.md (em inglês).
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | Date | string | sim |
options | ConvertDateToWordsOptions | não |
options.style | "full" | "month" | não |
options.weekday | boolean | não |
| retorna | string |
Escreve uma data por extenso em português do Brasil: "01/01/2024" vira "primeiro de janeiro de dois mil e vinte e quatro". Aceita um Date, lido pela sua data de calendário local, ou uma string no formato "dd/mm/yyyy" ou ISO "yyyy-mm-dd".
- Opções (
ConvertDateToWordsOptions):style(padrão"full") escreve dia, mês e ano por extenso;"month"escreve só o mês e deixa dia e ano em dígitos, o dia 1 como"1º".weekday(padrãofalse) prefixa o nome do dia da semana em minúsculas e uma vírgula. - Retorna
""para umDateinválido, uma string malformada, um dia ou mês que não existe ou uma data anterior ao ano 1.
import { convertDateToWords } from '@brazilian-utils/brazilian-utils';
convertDateToWords('01/01/2024'); // "primeiro de janeiro de dois mil e vinte e quatro"
convertDateToWords('2024-01-02'); // "dois de janeiro de dois mil e vinte e quatro"
convertDateToWords(new Date(2024, 0, 1)); // "primeiro de janeiro de dois mil e vinte e quatro"
convertDateToWords('02/03/2024', { style: 'month' }); // "2 de março de 2024"
convertDateToWords('01/01/2024', { style: 'month' }); // "1º de janeiro de 2024"
convertDateToWords('02/03/2024', { weekday: true }); // "sábado, dois de março de dois mil e vinte e quatro"
convertDateToWords('10/05/1999'); // "dez de maio de mil novecentos e noventa e nove"
convertDateToWords('31/04/2024'); // "" (abril tem 30 dias)
convertDateToWords('invalid'); // ""
convertDateToWords('29/02/1900'); // "" (1900 não é bissexto)Teste com JavaScript convertDateToWords
Casos de teste compartilhados (37) e o resultado em cada biblioteca date.convertToWords
Difference in business days
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Conta os dias úteis entre duas datas.
- Conta
earlierDatequando é dia útil e todos os dias úteis estritamente entre as duas. Nunca contalaterDate. A hora do dia é ignorada. - O resultado é negativo quando
laterDateé antes deearlierDate, e 0 no mesmo dia do calendário. optionscomo emdate.addBusinessDays:includeOptional,includeSaturdayestateCode. Com{ includeSaturday: true }, de 01/01/2024 a 08/01/2024 dá 5 (1º de janeiro é feriado, domingo fica fora).- Retorna
nullquando uma das datas é inválida ou está fora dos anos 1900 a 2099, e quandooptions.stateCodeestá presente e não é sigla de estado (a 2.4.0 recorria aos feriados nacionais).
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
laterDate | Date | sim |
earlierDate | Date | sim |
options | BusinessDayOptions | não |
options.stateCode | StateCode | não |
options.includeOptional | boolean | não |
options.includeSaturday | boolean | não |
| retorna | number | null |
Conta os dias úteis entre duas datas. Assinatura: differenceInBusinessDays(laterDate, earlierDate, options?), a mesma do date-fns.
- Opções (
BusinessDayOptions, as mesmas deisBusinessDay):includeOptional(padrãotrue) também pula a segunda e a terça-feira de Carnaval e o Corpus Christi;includeSaturday(padrãofalse) conta o sábado como dia útil;stateCodetambém pula os feriados daquele estado. - Conta
earlierDatequando é dia útil e cada dia útil estritamente entre as duas datas;laterDatenunca é contado. O horário é ignorado. - O resultado é negativo quando
laterDateé anterior aearlierDate, e0no mesmo dia de calendário. - Retorna
nullquando uma das datas não é umDateválido ou está fora dos anos de 1900 a 2099, ou quandostateCodeestá presente e não é uma sigla de estado.
import { differenceInBusinessDays } from '@brazilian-utils/brazilian-utils';
differenceInBusinessDays(new Date(2024, 0, 2), new Date(2024, 0, 1)); // 0 (01/01 é Ano novo, não contado)
differenceInBusinessDays(new Date(2024, 0, 3), new Date(2024, 0, 2)); // 1 (02/01 contado, uma terça-feira; 03/01 não)
differenceInBusinessDays(new Date(2024, 0, 2), new Date(2024, 0, 3)); // -1 (a data posterior vem primeiro, então a contagem é negativa)
differenceInBusinessDays(new Date(2024, 0, 2), new Date(2024, 0, 2)); // 0 (mesmo dia)
differenceInBusinessDays(new Date(2024, 0, 8), new Date(2024, 0, 1)); // 4 (contagem de segunda a sexta, de 2024-01-02 a 2024-01-05)
differenceInBusinessDays(new Date(2024, 0, 8), new Date(2024, 0, 1), { includeSaturday: true }); // 5 (2024-01-06, um sábado, também conta)
differenceInBusinessDays(new Date(2024, 10, 4), new Date(2024, 10, 1), { includeSaturday: true }); // 1 (2024-11-02 é Finados, feriado em um sábado)
differenceInBusinessDays(new Date(2024, 6, 10), new Date(2024, 6, 8), { stateCode: 'SP' }); // 1 (09/07/2024 é feriado estadual em SP)
differenceInBusinessDays(new Date(), new Date('not a date')); // nullTeste com JavaScript differenceInBusinessDays
Casos de teste compartilhados (0) e o resultado em cada biblioteca date.differenceInBusinessDays
Esta função ainda não tem casos de teste compartilhados.
Get holidays
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca8 casos falham
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca8 casos falham
- Erlang, biblioteca
Retorna os feriados brasileiros de um ano, ordenados por data: os nacionais, mais os de um estado quando stateCode é informado.
optionsé{ year, stateCode? }. O JavaScript também aceita só o ano,getHolidays(2024), para os feriados nacionais.- Cada feriado tem um nome, uma data e um
type:national,state,optional(ponto facultativo) oureligious(Páscoa, listada por conveniência; nenhuma norma a declara). stateCodeé lido sem diferenciar maiúsculas de minúsculas e sem os espaços das pontas, como em toda função que recebe UF. Só umstateCodeomitido (undefined) significa apenas feriados nacionais.- Um
stateCodepresente que não é sigla de estado ("XX","","__proto__", um número,null, um objeto) retorna uma lista vazia. A 2.4.0 retornava os feriados nacionais nesse caso, então{ year: 2024, stateCode: "sp" }omitia os feriados de São Paulo. - Retorna uma lista vazia quando
yearnão é um inteiro de 1900 a 2099. - Cada feriado só aparece nos anos em que a norma vigia:
- Feriados nacionais de data fixa só aparecem nos anos em que uma norma federal os declarava. Finados aparece até 1948 e a partir de 2003, e não de 1949 a 2002 (a 2.4.0 listava todo ano). Nossa Senhora Aparecida aparece a partir de 1980. O Dia da Consciência Negra (20 de novembro) é nacional a partir de 2024.
- O Natal aparece a partir de 1922, o Dia do trabalhador a partir de 1925, e Tiradentes até 1930, de 1933 a 1948 e a partir de 1951. A Lei nº 662/1949 tirou Finados dos feriados nacionais que o Decreto-lei nº 486/1938 listava, e a Lei nº 10.607/2002 o trouxe de volta. As outras festas nacionais do primeiro calendário republicano (24 de fevereiro, 3 de maio, 13 de maio, 14 de julho e 12 de outubro) aparecem até 1930, e 3 de maio (1936 a 1938), 16 de julho e 12 de outubro (1936 e 1937) de novo pela Lei nº 108/1935.
- Feriados estaduais aparecem a partir do ano em que a lei passou a valer, e até o ano em que foi revogada.
- A Sexta-feira Santa é
nationaltodo ano. A segunda e a terça de Carnaval e Corpus Christi sãooptional, os pontos facultativos do calendário federal (a 2.4.0 não listava a segunda). - Os itens
optionalsão os pontos facultativos de dia inteiro do calendário federal (Portarias MGI nº 8.617/2023, 9.783/2024 e 11.460/2025, para 2024 a 2026): segunda e terça de Carnaval e Corpus Christi, os mesmos três dias em que o mercado financeiro não funciona (Resolução CMN nº 4.880/2020), mais os que uma norma estadual declara (8 de dezembro do AM a partir de 1999, 6 de março de PE em 2008 e 2009). Os parciais ficam de fora: Quarta-feira de Cinzas (até as 14h), 28 de outubro (Dia do Servidor Público) e as tardes de 24 e 31 de dezembro. - O 1º turno das eleições é feriado
national: o primeiro domingo de outubro dos anos pares a partir de 1998 (15 de novembro em 2020), pelo art. 380 do Código Eleitoral. O 2º turno não é listado. - Antes de 1998, a Lei nº 1.266/1950 fez do dia das eleições gerais feriado nacional, então as realizadas em dia útil também são listadas: 3 de outubro de 1955 e 1958 (
Eleições gerais) e de 1990 e 1994 (Eleições (primeiro turno)). 3 de outubro de 1960 e a eleição municipal de 3 de outubro de 1996 não são listadas. Sendo domingo, o dia da eleição nunca muda uma contagem de dias úteis. - Um item estadual com o mesmo nome e a mesma data de um nacional o substitui. Corpus Christi vem como
stateno DF, no MA a partir de 2024 e no RJ a partir de 2026, e continua ponto facultativo federal nos outros estados. A terça de Carnaval é feriado estadual no RJ desde 2009. - Dois deslocamentos de observância mudam a data estadual. O 30 de novembro de Alagoas volta para a segunda quando cai na terça e vai para a sexta quando cai na quinta (desde 2014, Lei AL nº 7.530/2013). O 11 de agosto (desde 2005) e o 25 de novembro (desde 1999) de Santa Catarina vão cada um para o domingo seguinte quando caem de segunda a sábado. A data magna de Pernambuco cai no primeiro domingo de março de 2010 a 2017 e em 6 de março desde 2018.
- Uma lei estadual que o STF declarou inconstitucional não tem item em nenhum ano: o 18 de junho de Rondônia (ADI 3940) e o 25 de julho do Amapá (ADI 4820).
- Goiás lista 26/07, 24/10 e 28/10 como os feriados estaduais do estatuto dos servidores do estado, desde 1986, e 2 de novembro como feriado goiano de 1986 a 2002, os anos em que Finados não era nacional. O 16/09 de Alagoas é feriado
statedesde 2011 (a 2.4.0 o tipava comooptionalaté 2023). - Mudanças da 2.5.0, cada uma pela norma estadual citada no código JavaScript:
- RJ: Corpus Christi a partir de 2026 (Lei RJ nº 11.002/2025, mantida pelo STF na ADI 7898, com trânsito em julgado em 13/08/2026). A 2.4.0 a tipava como
optional, como nos outros estados. - AL: 20/11 de 1995 a 2023; 30/11 desde 2014 (vai para a segunda quando cai na terça e para a sexta quando cai na quinta).
- AC: 20/01 desde 2017. AP: 20/11 de 2008 a 2023; 15/05 desde 2018. O 25/07 do AP não tem item em nenhum ano (veja abaixo).
- MA: Corpus Christi desde 2024; 08/03 a partir de 2027. PB: 05/08 desde 1968.
- SE: 08/07 desde 1990; 24/10 de 1989 a 1999. PR: 19/12 de 1963 a 2013 (Lei PR 4.658/1962, revogada pela Lei PR 18.384/2014).
- PE: 06/03 em 2008 e 2009 como
optional(Lei PE 13.386/2007). AM: 08/12 comooptionala partir de 1999 (o estado declara ponto facultativo nas suas repartições por decreto, DOE-AM de 02/12/2025; a norma mais antiga localizada é a Lei Municipal de Manaus nº 496/1999). A 2.4.0 a listava desde 1900.
- RJ: Corpus Christi a partir de 2026 (Lei RJ nº 11.002/2025, mantida pelo STF na ADI 7898, com trânsito em julgado em 13/08/2026). A 2.4.0 a tipava como
- Retorna uma lista vazia quando o argumento não é número nem objeto.
- Feriados municipais não são cobertos.
- Mudanças de um ano feitas por decreto não entram; a tabela mantém a data da lei. Exemplos: o Decreto GO nº 10.935/2026 moveu 26/07/2026 para 20/07, e Goiás moveu 28/10/2026 para 30/10.
- Também não é aplicada a lei do Acre que adia para a sexta-feira os feriados que caem de terça a quinta (Lei AC nº 2.126/2009), porque os decretos anuais do próprio estado a aplicam de forma desigual (2026 move 20/01 e deixa 17/11, uma terça, no lugar).
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
options | GetHolidaysParams | sim |
options.year | number | sim |
options.stateCode | StateCode | não |
| retorna | Holiday[] |
Retorna os feriados brasileiros de um ano: os nacionais e, com um stateCode, também os daquele estado. Aceita um ano ou { year, stateCode } (GetHolidaysParams).
- Cada feriado é um
Holidaycujotype(HolidayType) é"national","state","optional"ou"religious". Os feriados vêm ordenados por data. - O "Dia da Consciência Negra", 20/11, é nacional a partir de 2024.
- O primeiro turno das eleições, "Eleições (primeiro turno)", é feriado nacional nos anos pares a partir de 1998 (Código Eleitoral, art. 380): o primeiro domingo de outubro, ou 15/11 em 2020 (EC nº 107/2020). O segundo turno fica de fora, porque só acontece onde é necessário. Por cair num domingo, nunca muda uma contagem de dias úteis. Antes de 1998, a Lei nº 1.266/1950 fazia do dia das eleições gerais um feriado nacional, então as que caíram num dia de semana também são listadas: 3/10 de 1955 e 1958 ("Eleições gerais") e de 1990 e 1994 ("Eleições (primeiro turno)"). O 3/10/1960 fica de fora, porque nenhum texto oficial encontrado data a eleição presidencial daquele ano, assim como a eleição municipal de 3/10/1996.
- Cada feriado nacional de data fixa só é listado nos anos em que uma norma federal o declarava (a Sexta-feira Santa, que as portarias do calendário federal listam como feriado nacional todo ano, é listada em todos os anos): Nossa Senhora Aparecida a partir de 1980, Natal a partir de 1922, Dia do trabalhador a partir de 1925, Tiradentes até 1930, de 1933 a 1948 e a partir de 1951, e Finados até 1948 e a partir de 2003. A Lei nº 662/1949 deixou Finados fora dos feriados nacionais que o Decreto-lei nº 486/1938 listava, e só a Lei nº 10.607/2002 o recolocou (o parecer da Câmara sobre o projeto: "Só inova ao sugerir o dia de finados"); até a 2.4.0 ele era listado em todos os anos. As outras "festas nacionais" do primeiro calendário republicano (Decreto nº 155-B/1890 e Decreto nº 3/1891: 24/2, 3/5, 13/5, 14/7 e 12/10) são listadas até 1930, e o 3/5 (de 1936 a 1938), o 16/7 e o 12/10 (em 1936 e 1937) de novo pela Lei nº 108/1935.
- As entradas
"optional"são os pontos facultativos de dia inteiro do calendário federal (Portarias MGI nº 8.617/2023, 9.783/2024 e 11.460/2025, de 2024 a 2026, que listam as duas datas de Carnaval como ponto facultativo, nunca como feriado nacional): a segunda e a terça-feira de Carnaval e o Corpus Christi, os mesmos três dias que o mercado financeiro não conta como úteis (Resolução CMN nº 4.880/2020), mais os estaduais que uma norma estadual declara (o 08/12 do AM a partir de 1999, que o estado declara para as suas repartições por decreto, e o 06/03 de PE em 2008 e 2009). OincludeOptionalliga e desliga exatamente esses. Os parciais ficam de fora: a Quarta-feira de Cinzas (até as 14h), 28/10 (Dia do Servidor Público) e as tardes de 24/12 e 31/12. - As regras por estado (o deslocamento para domingo em SC da data que cai de segunda a sábado, como o Decreto SC nº 1.460/2018 fez com o 11/08 que caiu num sábado; a data magna de PE no primeiro domingo de março de 2010 a 2017; o 30/11 de AL antecipado para segunda quando cai na terça e adiado para sexta quando cai na quinta, o Corpus Christi no DF, no MA (desde 2024) e no RJ (desde 2026), e a terça-feira de Carnaval no RJ com tipo
"state", datas que deixaram de ser feriado) seguem a lei de cada estado; veja a fonte para a lista. O 16/09 de AL é feriado estadual a partir de 2011, como os decretos de calendário do estado o chamam antes da Lei AL nº 9.358/2024. Uma lei estadual que o STF derrubou não tem entrada em nenhum ano: o 18/06 de RO (ADI 3940) e o 25/07 do AP (ADI 4820). - Outros deslocamentos não são aplicados e a data da lei é a retornada: a lei do AC adia para a sexta-feira os feriados que caem de terça a quinta (Lei AC nº 2.126/2009), mas os próprios decretos anuais do estado a aplicam de forma desigual (em 2026 o 20/1 é adiado e o 17/11, uma terça, fica na data).
- As três datas de GO (26/7, 24/10, 28/10) são os "feriados estaduais" do estatuto dos servidores do estado, listados a partir de 1986 (Lei GO nº 9.990/1986, depois Lei GO nº 10.460/1988 e Lei GO nº 20.756/2020, art. 269, II); os mesmos estatutos faziam do 2/11 feriado em GO de 1986 a 2002, os anos em que ele não era nacional. Não foi achada lei goiana que fixe uma data magna como feriado civil. O governador transfere o 26/7 por decreto todo ano (2025: 28/7; 2026: 20/7), e o 28/10 na maioria dos anos (2025: 27/10; 2026: 30/10), então a data da lei, que é a retornada aqui, muitas vezes não é o dia observado.
- Cada feriado estadual só é listado a partir do primeiro ano em que a sua lei estadual se aplicava (o 9 de julho de SP a partir de 1997, o São Jorge do RJ a partir de 2008, o 11 de agosto de SC a partir de 2004), então um ano mais antigo tem menos feriados estaduais.
stateCodeignora maiúsculas/minúsculas e espaços nas pontas ('sp'é'SP'). Só umstateCodeomitido (ouundefined) pede apenas os feriados nacionais: qualquer outro valor que não seja uma sigla de estado ('XX','', um valor que não é string) retorna[]. Até a 2.4.0 um código desconhecido era ignorado e os feriados nacionais eram retornados, então um erro de digitação como'sp'perdia os feriados do estado sem aviso.- Retorna
[]quando o ano não é um inteiro de 1900 a 2099, ou quando o argumento não é nem número nem objeto.
import { getHolidays } from '@brazilian-utils/brazilian-utils';
// Obtém os feriados de 2024, nacionais e facultativos
getHolidays(2024);
// [
// { name: 'Ano novo', date: Date('2024-01-01'), type: 'national' },
// { name: 'Carnaval (segunda-feira)', date: Date('2024-02-12'), type: 'optional' },
// { name: 'Carnaval (terça-feira)', date: Date('2024-02-13'), type: 'optional' },
// { name: 'Sexta-feira Santa', date: Date('2024-03-29'), type: 'national' },
// { name: 'Páscoa', date: Date('2024-03-31'), type: 'religious' },
// { name: 'Tiradentes', date: Date('2024-04-21'), type: 'national' },
// { name: 'Dia do trabalhador', date: Date('2024-05-01'), type: 'national' },
// { name: 'Corpus Christi', date: Date('2024-05-30'), type: 'optional' },
// { name: 'Independência do Brasil', date: Date('2024-09-07'), type: 'national' },
// { name: 'Eleições (primeiro turno)', date: Date('2024-10-06'), type: 'national' },
// { name: 'Nossa Senhora Aparecida', date: Date('2024-10-12'), type: 'national' },
// { name: 'Finados', date: Date('2024-11-02'), type: 'national' },
// { name: 'Proclamação da República', date: Date('2024-11-15'), type: 'national' },
// { name: 'Dia da Consciência Negra', date: Date('2024-11-20'), type: 'national' },
// { name: 'Natal', date: Date('2024-12-25'), type: 'national' },
// ]
// Obtém feriados para um estado específico
getHolidays({ year: 2024, stateCode: 'SP' });
// Inclui feriados nacionais mais feriados estaduais (ex: "Revolução Constitucionalista")Fonte: src/get-holidays/constants.ts, Lei nº 662/1949, Lei nº 9.093/1995.
Teste com JavaScript getHolidays
Casos de teste compartilhados (14) e o resultado em cada biblioteca date.getHolidays
Is business day
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Verifica se uma data é dia útil, pela data local do calendário. Dia útil não é sábado, domingo nem feriado de date.getHolidays para o mesmo estado.
options.includeOptional(padrão true) conta os feriados opcionais (segunda e terça de Carnaval, Corpus Christi e os itensoptionalde um estado, o 8 de dezembro do AM e o 6 de março de PE em 2008 e 2009) como dias não úteis. Com false, só contam os feriadosnationalestate, então Corpus Christi continua contando no DF, no MA a partir de 2024 e no RJ a partir de 2026, onde é feriado estadual.options.includeSaturday(padrão false) conta o sábado como dia útil, a contagem trabalhista do prazo do salário (CLT art. 459 § 1º, lida pela IN MTP nº 2/2021, art. 14, I). Domingo e feriados continuam excluídos, inclusive feriado que cai no sábado (Finados 02/11/2024, Independência 07/09/2024).includeSaturdaynão cobre feriados municipais, que a IN também exclui. Uma contagem exata para um município precisa removê-los à parte. Por isso o nome da opção não promete "CLT".- Um valor avaliado como verdadeiro (truthy) que não é booleano (por exemplo
"false") ligaincludeSaturdayouincludeOptional. - Um
optionsque não é objeto é ignorado, como se tivesse sido omitido. options.stateCodeé lido sem diferenciar maiúsculas de minúsculas e sem os espaços das pontas, como em toda função que recebe UF:"sp"e" SP "somam os feriados de São Paulo. Só umstateCodeomitido (undefined) significa apenas feriados nacionais.- Um
stateCodepresente que não é sigla de estado ("XX","","__proto__", um número,null, um objeto) é rejeitado: a função retornafalsesem olhar a data. A 2.4.0 recorria em silêncio aos feriados nacionais para uma sigla desconhecida ou em minúsculas, então"sp"contava 9 de julho como dia útil em São Paulo. - Isso não é, por si só, o calendário bancário ou forense: bancos também fecham nos feriados locais da agência, e tribunais seguem calendários próprios.
- Retorna false para uma data inválida ou um ano fora de 1900 a 2099.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | Date | sim |
options | BusinessDayOptions | não |
options.stateCode | StateCode | não |
options.includeOptional | boolean | não |
options.includeSaturday | boolean | não |
| retorna | boolean |
Verifica se uma data é dia útil no Brasil: não é sábado, domingo nem um feriado que getHolidays lista para o seu dia de calendário local.
- Opções (
BusinessDayOptions, as mesmas de todos os utilitários de dias úteis):includeOptional(padrãotrue) também conta os feriados"optional", a segunda e a terça-feira de Carnaval e o Corpus Christi, como dias não úteis;includeSaturday(padrãofalse) conta o sábado como dia útil;stateCodetambém conta os feriados daquele estado. - Com
includeSaturdaydesligado, é uma contagem de segunda a sexta. Ela não é, por si só, o calendário de bancos ou tribunais: o mercado financeiro também não conta a segunda e a terça-feira de Carnaval e o Corpus Christi (Resolução CMN nº 4.880/2020, art. 6º), que oincludeOptionalpadrão cobre, e os bancos fecham nos feriados locais; a Justiça Federal também fecha de 20/12 a 6/1, de quarta-feira santa ao domingo de Páscoa, na segunda e na terça-feira de Carnaval, em 11/8, 1º e 2/11 e 8/12 (Lei nº 5.010/1966, art. 62), e os prazos processuais seguem o calendário de cada tribunal (CPC, art. 216). Ligado, é a contagem trabalhista do prazo de pagamento do salário do art. 459, § 1º, da CLT, a que a fiscalização do trabalho lê pela Instrução Normativa MTP nº 2/2021, art. 14, I: "na contagem dos dias será incluído o sábado, excluindo-se o domingo e o feriado, inclusive o municipal". - Com
includeSaturdayligado, o domingo e os feriados continuam excluídos, então um feriado que cai em um sábado continua não sendo dia útil. - O trecho "inclusive o municipal" dessa regra não é coberto:
getHolidaystem apenas feriados nacionais e estaduais, então um feriado municipal é contado aqui como dia útil comum. Retire os feriados municipais por conta própria quando a contagem precisar ser exata para um município. - Retorna
falsequandovaluenão é umDateválido ou o seu ano está fora de 1900 a 2099, ou quandostateCodeestá presente e não é uma sigla de estado ('XX','', um valor que não é string). Maiúsculas/minúsculas e espaços nas pontas destateCodesão ignorados.
import { isBusinessDay } from '@brazilian-utils/brazilian-utils';
isBusinessDay(new Date(2024, 0, 2)); // true (terça-feira, não é feriado)
isBusinessDay(new Date(2024, 0, 1)); // false (Ano novo)
isBusinessDay(new Date(2024, 0, 6)); // false (sábado)
isBusinessDay(new Date(2024, 0, 6), { includeSaturday: true }); // true (contagem trabalhista)
isBusinessDay(new Date(2024, 8, 7), { includeSaturday: true }); // false (Independência, feriado em um sábado)
isBusinessDay(new Date(2024, 0, 7), { includeSaturday: true }); // false (o domingo nunca é incluído)
isBusinessDay(new Date(2024, 1, 12)); // false (segunda-feira de Carnaval, feriado facultativo, conta por padrão)
isBusinessDay(new Date(2024, 1, 13)); // false (terça-feira de Carnaval, feriado facultativo, conta por padrão)
isBusinessDay(new Date(2024, 1, 13), { includeOptional: false }); // true
isBusinessDay(new Date(2024, 6, 9), { stateCode: 'SP' }); // false (Revolução Constitucionalista)
isBusinessDay(new Date(2024, 6, 9)); // true (feriado estadual ignorado sem stateCode)
isBusinessDay(new Date('not a date')); // falseTeste com JavaScript isBusinessDay
Casos de teste compartilhados (0) e o resultado em cada biblioteca date.isBusinessDay
Esta função ainda não tem casos de teste compartilhados.
Is holiday
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Verifica se uma data é feriado no Brasil, pela data local do calendário.
optionstraz a data alvo e, opcionalmente, a sigla de um estado cujos feriados também contam. Todo feriado quedate.getHolidayslista conta, inclusive os opcionais e o 1º turno das eleições.options.stateCodeé lido sem diferenciar maiúsculas de minúsculas e sem os espaços das pontas, como em toda função que recebe UF:"sp"e" SP "somam os feriados de São Paulo. Só umstateCodeomitido (undefined) significa apenas feriados nacionais.- Um
stateCodepresente que não é sigla de estado ("XX","","__proto__", um número,null, um objeto) é rejeitado: a função retornafalsesem olhar a data. A 2.4.0 recorria em silêncio aos feriados nacionais para uma sigla desconhecida ou em minúsculas, então"sp"não reconhecia 9 de julho como feriado em São Paulo. options.targetDateé a data a verificar. Ela é lida pelo dia local do calendário, não pelo instante em UTC.options.stateCodeé opcional.- Retorna false quando
targetDateestá ausente ou não é uma data válida, e quandostateCodeestá presente e não é sigla de estado, mesmo num feriado nacional. - Retorna false para um ano fora de 1900 a 2099, onde
date.getHolidaysnão lista nada. - Os itens
optionalereligiousdedate.getHolidayscontam: segunda e terça de Carnaval, Corpus Christi e Páscoa fazem a função retornar true. Não háincludeOptionalaqui, ao contrário dedate.isBusinessDay.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
options | IsHolidayParams | não |
options.targetDate | Date | não |
options.stateCode | StateCode | não |
| retorna | boolean |
Verifica se uma data é feriado brasileiro. Aceita { targetDate, stateCode? } (IsHolidayParams).
- A verificação usa a data de calendário local de
targetDate, não o seu instante UTC. stateCodetambém considera os feriados daquele estado, lido como emgetHolidays(maiúsculas/minúsculas e espaços nas pontas são ignorados).- Retorna
falsequandotargetDateestá ausente ou não é umDateválido, ou quandostateCodeestá presente e não é uma sigla de estado ('XX','', um valor que não é string), mesmo num feriado nacional. - Retorna
falsepara um ano fora de 1900 a 2099, em que ogetHolidaysnão lista nada. - As entradas
"optional"e"religious"dogetHolidayscontam: segunda e terça de Carnaval, Corpus Christi e Páscoa fazem oisHolidayretornar true. Aqui não háincludeOptional, ao contrário doisBusinessDay.
import { isHoliday } from '@brazilian-utils/brazilian-utils';
isHoliday({ targetDate: new Date(2024, 0, 1) }); // true
isHoliday({ targetDate: new Date(2024, 6, 9), stateCode: 'SP' }); // true
isHoliday(); // falseTeste com JavaScript isHoliday
Casos de teste compartilhados (5) e o resultado em cada biblioteca date.isHoliday
Sub business days
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Subtrai um número de dias úteis de uma data. É o mesmo que date.addBusinessDays com o amount oposto.
- Mesmas regras e opções de
date.addBusinessDays(includeOptional,includeSaturday,stateCode), inclusive a mesma ressalva sobre a hora do dia. Umamountnegativo avança. - Último dia útil do mês:
subBusinessDays(new Date(y, m + 1, 1), 1). Para dezembro/2099 isso retornanull, porque o dia de partida fica em 2100.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
date | Date | sim |
amount | number | sim |
options | BusinessDayOptions | não |
options.stateCode | StateCode | não |
options.includeOptional | boolean | não |
options.includeSaturday | boolean | não |
| retorna | Date | null |
Subtrai dias úteis de uma data. subBusinessDays(date, amount, options?) é addBusinessDays(date, -amount, options).
- As mesmas regras de
addBusinessDays,BusinessDayOptionsincluídas. Umamountnegativo anda para frente.
import { subBusinessDays } from '@brazilian-utils/brazilian-utils';
subBusinessDays(new Date(2024, 0, 5, 12), 1); // Date, 2024-01-04 12:00 (o dia anterior já é útil)
subBusinessDays(new Date(2024, 0, 8, 12), 1); // Date, 2024-01-05 12:00 (anda para trás passando pelo fim de semana)
subBusinessDays(new Date(2025, 0, 2, 12), 1); // Date, 2024-12-31 12:00 (2025-01-01 é Ano novo, pulado)
subBusinessDays(new Date(2024, 0, 5, 12), -1); // Date, 2024-01-08 12:00 (anda para frente)
subBusinessDays(new Date(2024, 0, 6, 12), 0); // Date, 2024-01-06 12:00 (sem alteração, mesmo o sábado não sendo dia útil)
subBusinessDays(new Date(2024, 0, 8, 12), 1, { includeSaturday: true }); // Date, 2024-01-06 12:00 (contagem trabalhista, o sábado conta)
subBusinessDays(new Date(2024, 10, 4, 12), 1, { includeSaturday: true }); // Date, 2024-11-01 12:00 (2024-11-02 é Finados, feriado em um sábado)
subBusinessDays(new Date(2024, 6, 10, 12), 1, { stateCode: 'SP' }); // Date, 2024-07-08 12:00 (2024-07-09 é a Revolução Constitucionalista em SP, pulado)
subBusinessDays(new Date('not a date'), 1); // null
subBusinessDays(new Date(2024, 0, 2), 1.5); // null (não é um número inteiro)Para o n-ésimo dia útil de um mês, ou o último, comece do dia logo fora do mês:
import { addBusinessDays, subBusinessDays } from '@brazilian-utils/brazilian-utils';
// n-ésimo dia útil do mês: some n a partir do último dia do mês anterior
addBusinessDays(new Date(2024, 0, 0), 5); // Date, 2024-01-08 00:00 (5º dia útil de janeiro de 2024)
addBusinessDays(new Date(2024, 1, 0), 10); // Date, 2024-02-16 00:00 (10º de fevereiro de 2024, segunda e terça-feira de Carnaval puladas)
// último dia útil do mês: subtraia 1 a partir do primeiro dia do mês seguinte
subBusinessDays(new Date(2024, 3, 1), 1); // Date, 2024-03-28 00:00 (2024-03-29 é Sexta-feira Santa, seguida de um fim de semana)
subBusinessDays(new Date(2024, 1, 1), 2); // Date, 2024-01-30 00:00 (penúltimo de janeiro de 2024)
// prazo do salário do art. 459, § 1º, da CLT: o 5º dia útil na contagem trabalhista
addBusinessDays(new Date(2024, 2, 0), 5, { includeSaturday: true }); // Date, 2024-03-06 00:00 (2024-03-02, um sábado, conta; a contagem de segunda a sexta dá 2024-03-07)
addBusinessDays(new Date(2024, 10, 0), 5, { includeSaturday: true }); // Date, 2024-11-07 00:00 (2024-11-02 é Finados, um feriado num sábado)
subBusinessDays(new Date(2024, 8, 1), 1, { includeSaturday: true }); // Date, 2024-08-31 00:00 (último dia útil de agosto de 2024, um sábado)- Um
nmaior que os dias úteis do mês cai no mês seguinte (addBusinessDays(new Date(2024, 0, 0), 23)é 2024-02-01, janeiro de 2024 tem 22); comparegetMonth()quando isso importar. - O "quinto dia útil" do salário, do art. 459, § 1º, da CLT, é a contagem trabalhista: passe
{ includeSaturday: true }. Os feriados municipais, que essa contagem também exclui, a biblioteca não conhece, então um feriado municipal no começo do mês ainda precisa ser descontado por quem chama. - O n-ésimo dia útil de janeiro de 1900 e o último dia útil de dezembro de 2099 retornam
null, porque a receita parte de um dia fora dos anos suportados (31 de dezembro de 1899 e 1º de janeiro de 2100).
Teste com JavaScript subBusinessDays
Casos de teste compartilhados (0) e o resultado em cada biblioteca date.subBusinessDays
Esta função ainda não tem casos de teste compartilhados.
Fontes oficiais
- planalto.gov.br/ccivil_03/decreto-lei/…/del5452.htm
- in.gov.br/web/dou/…/instrucao-normativa-359448244
- planalto.gov.br/ccivil_03/leis/…/l9093.htm
- bcb.gov.br/estabilidadefinanceira/exibenormativo
- alerjln1.alerj.rj.gov.br/contlei.nsf/f25edae7e64db53b032564fe005262ef/…/46837e4d22b01f3503258d2c0048abda
- in.gov.br/web/dou/…/portaria-mgi-n-11.460-de-29-de-dezembro-de-2025-678388627
- legis.ac.gov.br/detalhar/1087
- legis.ac.gov.br/detalhar/1828
- legis.ac.gov.br/detalhar/618
- legis.ac.gov.br/detalhar/940
- legis.ac.gov.br/detalhar/688
- sapl.al.al.leg.br/norma/3363
- sapl.al.al.leg.br/norma/3364
- sapl.al.al.leg.br/norma/3117
- al.ap.leg.br/ver_texto_lei.php
- silegis.al.ap.leg.br/proposicaopdf/2CEatualizadaeconsolidadaateEC071comSumario.pdf
- al.ap.leg.br/ver_texto_lei.php
- sapl.al.am.leg.br/norma/8919
- sapl.al.am.leg.br/norma/2873
- sapl.cmm.am.gov.br/norma/3932
- legislabahia.ba.gov.br/documentos/constituicao-do-estado-da-bahia-de-05-de-outubro-de-1989
- belt.al.ce.gov.br/index.php/constituicao-do-ceara/…/5643-emenda-constitucional-n-73-de-1-de-dezembro-de-2011-d-o-06-12-11
- sinj.df.gov.br/sinj/Norma/…/Lei_72_27_12_1989.html
- sinj.df.gov.br/sinj/Norma/…/Lei_963_1995.html
- www3.al.es.gov.br/Arquivo/Documents/…/LEI110102019.html
- legisla.casacivil.go.gov.br/pesquisa_legislacao/100979/…/lei-20756
- arquivos.al.ma.leg.br/ged/legislacao/…/LEI_2457
- al.mt.gov.br/norma-juridica/urn:lex:br;mato.grosso:estadual:lei.ordinaria:2002-12-27;7879
- aacpdappls.net.ms.gov.br/appls/legislacao/…/a489a293563f506304256e450002e9f8
- bancodeleis.alepa.pa.gov.br/arquivos/lei5999_1996_93239.pdf
- sapl.al.pb.leg.br/norma/11988
- legislacao.pr.gov.br/legislacao/pesquisarAto.do
- legis.alepe.pe.gov.br/texto.aspx
- sapl.al.pi.leg.br/norma/5849
- alerjln1.alerj.rj.gov.br/CONTLEI.NSF/c8aa0900025feef6032564ec0060dfff/…/1baf90ca125ff96f8325740a00776600
- portal.stf.jus.br/processos/detalhe.asp
- alerjln1.alerj.rj.gov.br/CONTLEI.NSF/69d90307244602bb032567e800668618/…/80a541c3a5a9d63183256c7d0057bf25
- portal.stf.jus.br/processos/detalhe.asp
- al.rn.leg.br/storage/legislacao/…/arq5064574f632ec.pdf
- al.rn.leg.br/noticia/19157/…/rn-faz-519-anos-e-data-foi-criada-por-lei-estadual-em-alusao-ao-marco-de-touros
- ww2.al.rs.gov.br/dal/LinkClick.aspx
- ww2.al.rs.gov.br/dal/Legislação/…/Default.aspx
- sapl.al.ro.leg.br/norma/4958
- sapl.al.ro.leg.br/norma/3003
- portal.stf.jus.br/processos/detalhe.asp
- sapl.al.rr.leg.br/media/sapl/…/constituicao_estadual_do_estado_de_roraima.pdf
- leis.alesc.sc.gov.br/html/2022/…/18531_2022_lei.html
- leis.alesc.sc.gov.br/html/1996/…/10306_1996_lei.html
- leis.alesc.sc.gov.br/html/1999/…/11213_1999_lei.html
- leis.alesc.sc.gov.br/html/2004/…/12906_2004_lei.html
- leis.alesc.sc.gov.br/html/2005/…/13408_2005_lei.html
- al.sp.gov.br/repositorio/legislacao/…/lei-9497-05.03.1997.html
- al.sp.gov.br/repositorio/legislacao/…/lei-17746-12.09.2023.html
- aleselegis.al.se.leg.br/Arquivo/Documents/…/CE11989.html
- al.to.leg.br/arquivo/15717
- al.to.leg.br/arquivo/15724
- al.to.leg.br/arquivo/6883
- al.to.leg.br/arquivo/6358
- planalto.gov.br/ccivil_03/leis/…/l0662.htm
- planalto.gov.br/ccivil_03/leis/…/l10607.htm
- planalto.gov.br/ccivil_03/leis/…/L1266.htm
- planalto.gov.br/ccivil_03/leis/…/l6802.htm
- planalto.gov.br/ccivil_03/_ato2023-2026/…/l14759.htm
- portal.stf.jus.br/processos/detalhe.asp
- alerjln1.alerj.rj.gov.br/contlei.nsf/f25edae7e64db53b032564fe005262ef/…/063f7c027766eab48325744a007a4ab0
- arquivos.al.ma.leg.br/ged/legislacao/…/LEI_11539
- arquivos.al.ma.leg.br/ged/legislacao/…/LEI_12800
- legis.ac.gov.br/detalhar/2249
- legisweb.com.br/legislacao
- diario.imprensaoficial.al.gov.br/apinova/api/…/24602
- al.ap.leg.br/ver_texto_lei.php
- al.ap.leg.br/ver_texto_lei.php
- al.ap.leg.br/ver_texto_lei.php
- sapl.al.pb.leg.br/media/sapl/…/2945_texto_integral.pdf
- legislacao.pr.gov.br/legislacao/exibirAto.do
- legis.alepe.pe.gov.br/texto.aspx
- diario.imprensaoficial.am.gov.br/portal/edicoes/…/17974
- legisla.casacivil.go.gov.br/api/v2/…/115759
- planalto.gov.br/ccivil_03/leis/…/l4737compilado.htm
- planalto.gov.br/ccivil_03/constituicao/…/emc16.htm
- planalto.gov.br/ccivil_03/constituicao/…/emc107.htm
Atualizado em
