300x250 AD TOP

adv1

Formulário de contato

16 de julho de 2011

Tags: , ,

Quer saber se ano é bissexto no Java? Simples...


Depois de muito quebrar a cabeça pensando em uma forma de calcular o ano bissexto e tomando a deixa de alguns amigos meus do JavaFree, resolvi um problema recorrente às vezes no Java, mas que pode parecer mais complexo se não analisarmos direito...

Pode ser comum pensarmos na forma habitual de calcular um ano bissexto averiguando as seguintes regras:

1. Se é divisivel por 4:
bissexto = (ano % 4 == 0);
2.  Mas não pode ser centenário:
bissexto = (ano % 4 == 0) && (ano % 100 != 0);
3. Porém há cada 400 anos, validar:
bissexto = (ano % 4 == 0) && ( (ano % 100 != 0) || (ano % 400 == 0) );
Não que a forma acima não funcione, é até interessante sabermos porque é bissexto... hehe
Mas conseguimos resolver isso facilmente com a API do Java, usando GregorianCalendar:
new GregorianCalendar().isLeapYear(ano);
Vlew'z!


-->

5 comentários:

  1. Muito Bom, não sabia!! legal cara!! - Parabéns

    ResponderExcluir
  2. Interessante mas só funciona até ao ano 4880 que é o ultimo ano bissexto, a partir dai, fevereiro passa sempre a ter 29 dias porque a cada 3300 anos é acrescentado um dia ao nosso calendário.

    ResponderExcluir
    Respostas
    1. Claro, porque 4880 ta aí né, falta só mais de 2800 anos, sempre tem um merda pagando de intelectual, enfia uma melancia no cu e sai correndo, assim chama mais atenção.

      Excluir