Guest --Adriano -- Postado Abril 18, 2007 Denunciar Share Postado Abril 18, 2007 Bom dia, como posso fazer para calcular e comparar se ano digitado é bissexto ou não?Adriano Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 18, 2007 Denunciar Share Postado Abril 18, 2007 Coloque essa verificação ...if($ano%4==0) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 18, 2007 Denunciar Share Postado Abril 18, 2007 A Wikipédia responde:A aproximação 365+97/400 é obtida colocando 97 anos bissextos a cada 400 anos, utilizando as seguintes regras: Todo ano divisível por 4 é um ano bissexto. Entretanto, todo ano divisível por 100 não é um ano bissexto. Entretanto, todo ano divisível por 400 é um ano bissexto sempre. Portanto, 1700, 1800, 1900, 2100 e 2200 não são anos bissextos. Porém, 1600, 2000 e 2400 são anos bissextos. Contrapondo, no antigo Calendário Juliano todos os anos divisíveis por 4 são bissextos.Ou pegue um ano bissexto e multiplique por 4 até chegar no ano que o cara digitou (ou próximo)... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Adriano -- Postado Abril 18, 2007 Denunciar Share Postado Abril 18, 2007 Obrigado!!!Coloque essa verificação ...if($ano%4==0) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 18, 2007 Denunciar Share Postado Abril 18, 2007 Essa fórmula dá errado... pois além de o número ter que ser divisivel por 4 tem que ser divisivel por 400 e também não pode ser divisivel por 100... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 18, 2007 Denunciar Share Postado Abril 18, 2007 (editado) E como ele vai fazer isso no PHP?if($ano%4==0 && $ano%400==0 && $ano%100!=0)Vai dar erro. Como vai ser divisível por 400 e não-divisível por 100? Se é divisível por 400 também é por 100. Editado Abril 18, 2007 por Renato Penna Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 18, 2007 Denunciar Share Postado Abril 18, 2007 Eu me expressei errado no post inicial... TODO ano divisel por 400 é bissexto. Se o ano for divisivel por 4 não pode ser divisel por 100... essa é a regra.<?php $ano = 2008; if ($ano%400 == 0) { echo "É bissexto"; } elseif (($ano%4 == 0) AND ($ano%100 == 0)){ echo "Não É bissexto"; } elseif (($ano%4 == 0) AND ($ano%100 != 0)){ echo "É bissexto"; }else{} ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 18, 2007 Denunciar Share Postado Abril 18, 2007 http://br2.php.net/manual/pt_BR/function.checkdate.php Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 18, 2007 Denunciar Share Postado Abril 18, 2007 Sempre tem um jeito mais fácil... :D Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 18, 2007 Denunciar Share Postado Abril 18, 2007 Já existia uma função pra resolver isso e a gente quebrando a cabeça aqui . Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest --Adriano --
Bom dia, como posso fazer para calcular e comparar se ano digitado é bissexto ou não?
Adriano
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.