Como saber se um ano é bissexto com Javascript?

Como saber se um ano é bissexto com Javascript?

25 de julho de 2019 0 Por Ramos de Souza Janones
Powered by Rock Convert

Preparamos dois exemplos em Javascript mostrando como realizar o cálculo de um ano bissexto utilizando Javascript e HTML.

Segundo o Wikipedia:

Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O ano bissexto anterior foi 2016 e o próximo será 2020.

Vamos aos exemplos:

Exemplo 1

function calcularBissexto(ano) {
    return ano % 4 == 0 && ano % 100 != 0 || ano % 400 == 0 ? 'E bissexto' : 'Nao e bissexto';
}

console.log(calcularBissexto(1980));
console.log(calcularBissexto(1981));
console.log(calcularBissexto(1900));
console.log(calcularBissexto(2000));

Exemplo 2

Este exemplo em valida se um ano é bissexto ou não com a verificação de dias do mês. Por exemplo:

JS:

function calculaAno(){

const getAno = document.getElementById('entradaAno').value;
const AnoBissexto = (ano) => new Date(ano, 1, 29).getMonth() == 1 ? 'bissexto': 'não é bissexto';
const tipoAno = AnoBissexto(getAno);

document.getElementsByClassName('info')[0].innerText = tipoAno;

}

CSS + HTML:

Leia também:  
form {
 font-family:sans-serif;
 margin-top:1rem;
 margin-left:1rem;
 margin-right:1rem;
}

input.form-control {
 width:200px;
    
 }

div.info { 
 margin-top:1rem;
 text-align:center;
 }
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
</head>

<body>

<form action="">
<label>Digite o ano : </label>
 <input id="entradaAno" type="text" class="form-control" placeholder="" aria-label="" aria-describedby="basic-addon1">
 
 <div class="info alert alert-link" role="alert">
  Por favor digite o ano válido.
</div>

<button type="button" onclick="calculaAno()" class="btn btn-link">Calcular</button>
</form>

</body>

</html>

VOCÊ ESTÁ NAS SEÇÕES: Programação » Javascript

EM OUTRAS LINGUAGENS DE PROGRAMAÇÃO

Eis um pseudocódigo que determina quando um ano é bissexto ou não:

Inicio
    Declare ano Inteiro;
    Declare bissexto Booleano;
    Leia(ano);
    Se ( ano módulo 400 é 0 ) então
        bissexto=Verdade;
    Senão
         Se (ano módulo 4 é 0 E ano módulo 100 é diferente de 0) então 
             bissexto=Verdade;
         Senão
             bissexto=Falso;
Fim

Na linguagem C/C++:

bool bissexto = false;

if ( ( ano % 4 ==  && ano % 100 !=  ) || ano % 400 ==  )
    bissexto = true;

Na linguagem Java:

Curso completo de Games, inclusive Realidade Aumentada.Powered by Rock Convert
public static void main(String[] args){
        
        int ano = ;
        Scanner input = new Scanner(System.in);
        ano = input.nextInt();
        
        if((ano % 400 == ) || ((ano % 4 == ) && (ano % 100 != ))){
            System.out.println(ano + " é um ano Bissexto!");
        }
        else{
            System.out.println(ano + " não é um ano Bissexto!");
        }
    }

Na Linguagem Python 3.5:

ano = int(input())
if ano%4== and ano%100!= or ano%400==:
    print("Ano Bissexto")
else:
    print("Não é um ano Bissexto!")

Em Pascal:

function EhAnoBissexto(const pAno: Word): Boolean;
begin
  Result := (pAno mod 400 = ) or ((pAno mod 4 = ) and (pAno mod 100 <> ));
end;

Em JavaScript:

1 var ano = 2016;
2 
3 if ( ( ano % 4 ==  && ano % 100 !=  ) || (ano % 400 == ) ) { 
4     console.log(ano + ' é bissexto'); 
5 } else {
6     console.log(ano + ' não é bissexto');
7 }

Em Visual Basic:

Sub Bissexto(Ano As Integer)
    If (Ano Mod 4 = ) And ((Ano Mod 100 <> ) Or (Ano Mod 400 = )) Then
        MsgBox Ano & " é um ano Bissexto"
    Else
        MsgBox Ano & " não é um ano Bissexto"
    End If
End Sub
React Native Do Zero Ao Profissional: crie apps para Android e IOSPowered by Rock Convert
Siga os bons!

Ramos de Souza Janones

Janones, é um empreendedor brasileiro apaixonado por empreendedorismo e tecnologia. Ao longo dos anos trabalhando com o desenvolvimento de softwares desktop desde a linguagem Clipper, passando pelo Delphi e atualmente com Java.

Optou pela formação de Publicidade e Marketing por sua segunda empresa de tecnologia ter participado do "boom" da internet nos anos 90 e na procura de melhorar seus conhecimentos em negócios.

Em razão da principal formação e profundos conhecimentos em programação e banco de dados, é capaz de realizar o desenvolvimento de aplicativos web, desktop e mobile com maior criatividade e inovação que profissionais de desenvolvimento com uma formação única e mais especifica, dedicada somente ao desenvolvimento de softwares.

Com toda sua experiência com empresas de software, sua formação e paixão por negócios escreveu o livro "Marketing para Empresas e Profissionais de Software", publicado pela editora carioca Ciência Moderna em 2012. Além de outros livros sobre programação.




Frontend Do Zero Ao Profissional