Função para ano bissexto em JavaScript, PHP e Java
O JavaScript, assim como outras linguagens como PHP e Java, oferecem uma série de funções que facilitam muito a vida do programador. No entanto, algumas vezes faltam funções mais específicas, esse é o caso da validação do ano bissexto. Isso significa que precisamos criar uma nova função para verificar se um determinado ano é bissexto.
Como saber se um ano é bissexto?
Para validar se um ano é bissexto a lógica é bastante simples, basta aplicar as 3 seguintes regras ao ano a ser validado:
- Ser divisível por 4.
- Não ser divisível por 100.
- Todo ano divisível por 400 é sempre bissexto.
Agora, basta aplicar essas regras acima na construção da função.
Escrevendo a função para ano bissexto:
Para escrevermos nossa função vamos utilizar o operador de módulo (%). Dessa forma, podemos pegar apenas o resto de uma divisão entre dois números, conforme os exemplos abaixo:
12 % 5 // retorna 2
10 % 2 // retorna 0
Com base nas regras para validar um ano bissexto, além de termos conhecimento do uso do operador de módulo, podemos escrever a seguinte função:
function verificaAnoBisexto (y) {
// O ano divisível por 400 é sempre bissexto
if (y % 400 == 0)
return true
// O ano deve ser divisível por 4 mas não pode ser divisível por 100
if (y % 4 == 0 && y % 100 != 0)
return true
// Caso o ano não caia nas regras acima retorna falso
return false
}
Agora, podemos ainda simplificar a função de ano bissexto reduzindo dessa forma as condições:
function verificaAnoBisexto (y) {
return (y % 400 == 0) || (y % 4 == 0) && (y % 100 != 0)
}
Assim, a função executará exatamente a mesma lógica porém escrita de forma mais sucinta.
Explicação da função de ano bissexto:
Como vimos anteriormente, os bissextos são os anos divisíveis por 4, exceto os divisíveis por 100 ou qualquer ano que que seja divisível por 400, logo:
- Qualquer ano divisível por 400 é bissexto:
(y % 400 == 0)
- Ou o ano deve ser divisível por 4:
|| (y % 4 == 0)
- Porém, não pode ser divisível por 100:
&& (y % 100 != 0)
Você conseguiu acompanhar o raciocínio? Caso tenha alguma dúvida, deixe seu comentário para que eu possa esclarecer para você.
O que achou do artigo?
Escreva um comentário, deixe-me saber o que achou do artigo. Se tens uma dúvida basta perguntar:
Resposta ao comentário:
10 Comentários