Calculadora de ano bissexto
Resultado
Dias no ano
- Dias em fevereiro
- 28 dias
- Próximo ano bissexto
- 2.028
- Ano bissexto anterior
- 2.024
De quatro em quatro anos, exceto a cada cem, exceto a cada quatrocentos — é por isso que 2024 é bissexto, 1900 não foi e 2000 foi. Esta calculadora de ano bissexto responde à pergunta para qualquer ano de 5 a 9995 e informa ao lado a duração do ano e a do seu fevereiro, além dos anos bissextos mais próximos de cada lado. A regra é curta o bastante para ser aplicada à mão; o motivo de usar uma ferramenta são as duas exceções, e os anos em que elas mordem são exatamente aqueles sobre os quais as pessoas perguntam.
Quais destes anos são bissextos, e a regra por trás de cada veredito
| Ano | Veredito | A regra para esse veredito |
|---|---|---|
| 2024 | Ano bissexto | divisível por 4 e não por 100, ou divisível por 400 |
| 2000 | Ano bissexto | divisível por 4 e não por 100, ou divisível por 400 |
| 2026 | Ano comum | não divisível por 4, ou divisível por 100 e não por 400 |
| 1900 | Ano comum | não divisível por 4, ou divisível por 100 e não por 400 |
| 2100 | Ano comum | não divisível por 4, ou divisível por 100 e não por 400 |
A última coluna é a regra inteira para aquele veredito, por isso os dois anos bissextos se leem igual ali. Qual metade dela decidiu cada linha é o seguinte: 2024 e 2000 são bissextos por motivos diferentes — o primeiro porque é divisível por 4 e não por 100, o segundo porque é divisível por 400. Já 1900 e 2100 reprovam na mesma cláusula um do outro, divisíveis por 100 e não por 400.
Fórmula
leap = (year mod 4 = 0 e year mod 100 ≠ 0) ou year mod 400 = 0
- year
- O ano testado, de 5 a 9995
- daysInYear
- 366 se o ano for bissexto, 365 caso contrário
- februaryDays
- 29 se o ano for bissexto, 28 caso contrário — o único mês que a regra toca
- nextLeapYear
- O ano bissexto mais próximo depois deste, nunca o próprio ano
- previousLeapYear
- O ano bissexto mais próximo antes deste, nunca o próprio ano
Use a calculadora para decidir se um ano tem um dia a mais, para saber a duração de um fevereiro antes de montar um cronograma ou para encontrar o próximo ano bissexto de um evento que se repete de quatro em quatro anos. Quase todos os casos interessantes são anos centenários: 1900 não foi bissexto, 2000 foi e 2100 não será. A exceção do ano centenário é justamente onde qualquer regra que aplique só a divisibilidade por quatro erra — ela chamaria os três de bissextos e erraria dois deles.
Exemplos resolvidos
2026 — um ano comum
- 2026 dividido por 4 dá 506,5, então o ano falha já na primeira cláusula e o resto da regra nem entra em cena
- Um ano comum tem 365 dias e o seu fevereiro tem 28 — é o único mês cuja duração a regra altera
- Os anos bissextos mais próximos são 2024 e 2028, quatro anos para cada lado
- Nenhum dos dois vizinhos é o próprio ano informado: os dois resultados são estritamente anteriores e posteriores ao ano digitado
O caso comum, e o mais fácil de acertar.
2024 — a regra dos quatro anos bastaria
- 2024 dividido por 4 dá 506 exato, e 2024 não é divisível por 100, então a primeira cláusula está satisfeita
- O ano tem, portanto, 366 dias e o seu fevereiro tem 29
- Os anos bissextos mais próximos são 2020 e 2028, mesmo sendo 2024 ele próprio um ano bissexto
- O teste da divisibilidade por 400 nunca é alcançado, porque a primeira cláusula já decidiu a resposta
Somar um dia a cada quatro anos e nada mais ganharia cerca de três dias a cada quatro séculos. As duas cláusulas dos séculos existem para remover exatamente essa deriva.
1900 — divisível por 4 e ainda assim não bissexto
- 1900 dividido por 4 dá 475 exato, então uma regra que parasse aí o chamaria de bissexto
- Mas 1900 é divisível por 100 e não por 400, então a segunda cláusula retira o dia extra de volta
- O resultado é um ano comum, de 365 dias e fevereiro de 28
- Os anos bissextos mais próximos são 1896 e 1904 — o padrão de quatro em quatro anos é interrompido por um ciclo
É o caso que toda versão encurtada da regra erra, e a razão pela qual uma calculadora vale mais do que uma rima decorada.
Limitações
Os anos bissextos são uma propriedade do calendário gregoriano, e o calendário gregoriano é ele próprio uma aproximação: ele se afasta das estações em cerca de um dia a cada 3.300 anos, e nenhuma correção para isso foi adotada. Anos anteriores a 1582 são tratados aqui como gregorianos prolépticos, então 1500 reprova no teste mesmo tendo sido bissexto no calendário juliano que se usava na época. A ferramenta testa um ano por vez e não lista os anos bissextos de um intervalo.
Perguntas frequentes
- 2024 é um ano bissexto?
- É, porque 2024 é divisível por 4 e não por 100. Ele tem 366 dias e o seu fevereiro tem 29, e os anos bissextos mais próximos são 2020 e 2028. Um ano divisível por quatro é bissexto, a menos que uma das duas cláusulas dos séculos retire o dia extra.
- Por que 1900 não é um ano bissexto?
- Porque é divisível por 100 e não por 400. Uma regra que testasse apenas a divisibilidade por quatro chamaria 1900 de bissexto, e ele de fato foi bissexto no calendário juliano; a reforma gregoriana tirou o dia extra dos anos centenários, a menos que eles também sejam divisíveis por 400. 2000 manteve o seu dia exatamente por isso, e 2100 vai perdê-lo.
- Quantos dias tem fevereiro?
- 28 em um ano comum e 29 em um ano bissexto, o que faz de fevereiro o único mês cuja duração a regra altera. Os outros onze ficam fixos em 31 ou 30 dias, então um ano tem 365 ou 366 dias por causa desse único mês.
- Qual é o próximo ano bissexto?
- 2028, já que 2026 é um ano comum, e todo ano informado aqui mostra os dois vizinhos. O intervalo é de quatro anos, exceto quando um ano centenário é pulado, e aí ele se estica para oito — de 1896 para 1904 há um intervalo assim.
- A ferramenta funciona para anos muito antigos ou muito distantes?
- Ela aceita anos de 5 a 9995, o que mantém toda data intermediária dentro do alcance que um Date do JavaScript consegue representar. Antes de 1582 a resposta é gregoriana proléptica, ou seja, a regra aplicada para trás a um calendário que não estava em uso, e 9996 em diante é recusado em vez de respondido com um número errado.
Referências
- The Gregorian calendar — Claus Tøndering, Calendar FAQ
- ECMAScript Language Specification: Numbers and Dates — Ecma International