☀️ Um ano bissexto é um ano que contém um dia extra, conhecido como o dia bissexto, inserido no calendário para ajustar a discrepância entre o ano civil (365 dias) e o tempo que a Terra leva para completar uma órbita ao redor do Sol (aproximadamente 365,2425 dias). Essa diferença é causada pelo fato de um ano não ser exatamente igual a 365 dias.
🗓️ No calendário gregoriano, que é amplamente utilizado hoje em dia, um ano bissexto ocorre a cada quatro anos, exceto em anos que sejam divisíveis por 100, e também sejam divisíveis por 400. Em outras palavras:
-
- Todos os anos divisíveis por 4 são anos bissextos.
- No entanto, anos divisíveis por 100 não são bissextos, a menos que também sejam divisíveis por 400.
Essa regra adicional evita que haja muitos dias bissextos, que, se ocorressem a cada quatro anos, causariam um ajuste excessivo no tempo.
⚠️ O dia extra em um ano bissexto é adicionado no dia 29 de fevereiro, o que significa que o mês de fevereiro tem 29 dias em vez de 28. Isso mantém o calendário alinhado com as estações do ano, garantindo que o equinócio da primavera (no hemisfério norte) ocorra por volta do dia 20 ou 21 de março.
A inclusão de anos bissextos é uma forma de sincronizar o calendário com o movimento real da Terra ao redor do Sol e garantir que nossos ciclos de tempo mantenham uma correspondência aproximada com os eventos astronômicos.
—
✍️ Exemplo #1: Vamos considerar o ano de 2024.
-
- Verifique se o ano é divisível por 4. No caso de 2024, podemos dividir 2024 por 4 e obtemos um resultado exato: 506.
- Verifique se o ano é divisível por 100. Como 2024 não é um múltiplo de 100, essa etapa não afeta a determinação.
- Verifique se o ano é divisível por 400. Novamente, 2024 não é um múltiplo de 400, portanto, essa etapa também não afeta a decisão.
Dado que o ano de 2024 é divisível por 4 sem deixar um resto, ele é considerado um ano bissexto. Isso significa que o ano terá 366 dias, com o dia extra adicionado em 29 de fevereiro.
✍️ Exemplo #2: Vamos realizar o mesmo cálculo para o ano 2023.
-
- Verifique se o ano é divisível por 4. Dividindo 2023 por 4, obtemos um resultado com um resto: 505,75. Isso indica que não é um múltiplo exato de 4.
- Verifique se o ano é divisível por 100. Como 2023 não é um múltiplo de 100, essa etapa não afeta a determinação.
- Verifique se o ano é divisível por 400. Novamente, 2023 não é um múltiplo de 400, portanto, essa etapa também não afeta a decisão.
Dado que o ano de 2023 não é divisível por 4 sem deixar um resto, ele não é considerado um ano bissexto. Isso significa que o ano terá 365 dias, sem um dia extra em 29 de fevereiro.
Portanto, o ano 2023 não é um ano bissexto.
—
☕ Programa em Java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import java.util.Scanner; public class AnoBissexto { public static void main(String[] args) { // Cria um objeto Scanner para receber a entrada do usuário Scanner scanner = new Scanner(System.in); // Solicita ao usuário que insira um ano System.out.print("Digite um ano: "); int ano = scanner.nextInt(); // Verifica se o ano é bissexto boolean bissexto = false; if (ano % 4 == 0) { if (ano % 100 == 0) { if (ano % 400 == 0) { bissexto = true; } } else { bissexto = true; } } // Exibe o resultado if (bissexto) { System.out.println(ano + " é um ano bissexto."); } else { System.out.println(ano + " não é um ano bissexto."); } // Fecha o objeto Scanner scanner.close(); } } |
—
Alternativamente, podemos utilizar as classes da biblioteca java.time
, para determinar se um ano é ou não bissexto:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import java.time.Year; import java.util.Scanner; public class AnoBissexto { public static void main(String[] args) { // Cria um objeto Scanner para receber a entrada do usuário Scanner scanner = new Scanner(System.in); // Solicita ao usuário que insira um ano System.out.print("Digite um ano: "); int ano = scanner.nextInt(); // Verifica se o ano é bissexto utilizando a classe Year da biblioteca java.time boolean bissexto = Year.of(ano).isLeap(); // Exibe o resultado if (bissexto) { System.out.println(ano + " é um ano bissexto."); } else { System.out.println(ano + " não é um ano bissexto."); } // Fecha o objeto Scanner scanner.close(); } } |
—
🕵️ Explicando…
Nesse código, utilizamos a classe Year
da biblioteca java.time
para verificar se o ano é bissexto utilizando o método isLeap()
. Essa classe fornece recursos específicos para manipulação de anos.
O método isLeap()
é um método da classe Year
na biblioteca java.time
em Java. Ele retorna um valor booleano indicando se o ano representado pelo objeto Year
é um ano bissexto ou não.
A chamada Year.of(ano).isLeap()
cria um objeto Year
com o ano fornecido e, em seguida, verifica se esse ano é bissexto usando o método isLeap()
. Se o ano for bissexto, o método retorna true
; caso contrário, retorna false
.
Esse método implementa a lógica para determinar se um ano é bissexto com base nas regras do calendário gregoriano, onde um ano é bissexto se for divisível por 4, a menos que seja divisível por 100. No entanto, se um ano for divisível por 400, ele é considerado bissexto. O método isLeap()
encapsula essa lógica e simplifica a verificação do status de bissexto de um ano.
*Atualizado em 8 de maio de 2024
🐍 Em Python:
ou: