Pular para o conteúdo principal

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!


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

Postar um comentário

Postagens mais visitadas deste blog

Como acessar um iframe e seus elementos via jQuery?

Recentemente tive  um problema no projeto pois sentiu a necessidade de acessar um valor de um input que estava dentro de um iframe. Esse tipo de situação não é tão comum, uma vez que geralmente acessamos os valores do iframe para fora. Para acessar, de dentro de um iframe, um valor externo, utilizamos o seguinte código: $('#idDoElementoExterno', parent.document).val(); Entretanto, nunca tínhamos passado pela situação contrária. Pesquisando um pouco descobrimos uma alternativa, porém em JavaScript. Para ficar melhor o entendimento, vamos simular uma situação aqui. Temos uma página html "A.html" e dentro da mesma existe um iframe que aponta (src) para uma página "B.html": <!-- A.html --> <html> <head> <title>Testando iframe - jQuery</title> <script language="JavaScript"> function exibeValor() { // alert aqui! } </script> </head> <body> <input typ

Integrando Android e PayPal com Java e MySQL - Parte 2

Na primeira parte deste artigo, nós cobrimos toda a configuração inicial do ambiente, envolvendo principalmente o projeto Java Web com Restful, as bibliotecas e ferramentas envolvidas, bem como suas respectivas versões. Criamos também toda a comunicação com o banco de dados, o modelo Entidade-Relacionamento, o SQL gerado e as configurações da API do PayPal SDK para Java. Nessa parte, focaremos em finalizar a aplicação de modelo, principalmente no lado Android, testando tudo de forma local. Você poderá efetuar o download do código fonte diretamente do meu GitHub, no botão abaixo: DOWNLOAD CÓDIGO Na Figura 1 abaixo você pode visualizar como ficarão nossas telas ao final da implementação: Configurando o projeto Android Antes de criar o projeto, precisamos efetuar o download do PayPal Android SDK . Extraia os arquivos em uma pasta de preferência. Mais uma vez, você pode se sentir à vontade para usar o Eclipse Android Bundle ou o AndroidStudio para programar a parte Andr

"Content is not allowed in prolog" - Entendendo exceção no Seam

Recentemente tive um problema de edição em um arquivo .xhtml utilizando JBoss Seam, Richfaces e afins. A princípio a mensagem de erro não dizia muito a respeito da causa do mesmo: com.sun.facelets.FaceletException: Error Parsing /consulta.xhtml: Error Traced[line: 1] Content is not allowed in prolog. "O conteúdo não é permitido no prólogo". Mas que conteúdo? Em qual prolog? Depois de dar uma pesquisada descobri que o erro acontece em vista de terem sido colocados alguns caraceteres inválidos antes da declaração de documento xml na página xhtml. Em outras palavras, a primeira coisa que deve constar em um documento xml (afins) deve ser: <?xml version="1.0" encoding="utf-8"?> Qualquer coisa antes disso, até mesmo um simples espaço em branco, pode gerar o erro em questão. Por fim, lembre-se de que a declaração de documento xml segue o padrão de encoding definido. Logo temos: <!-- Inc