PHP – Ano bissexto

Salve todo o código abaixo como “bissexto.php”.

<?php
/**
 * Função que recebe um ano e retorna um boolean informando se ele é ou não bissexto.
 *
 * @params (integer) $ano - Ano que deseja saber se é ou não bissexto.
 * @return (boolean) $bissesxto - Boolean informando se é bissexto (true) ou se não é bissexto (false).
 */
function bissexto($ano)
{
    $bissexto = false;
    // Divisível por 4 e não divisível por 100 ou divisível por 400
    if ( (($ano%4) == 0 && ($ano%100) != 0) || ($ano%400) == 0 )
    {
        $bissexto = true;
    }

    return $bissexto;
}
?>
<html>
    <head>
        <title>Verificar se ano é bissexto</title>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
        <form action="bissexto.php" method="post">
            <input type="text" name="ano" /><br />
            <input type="submit" value="Verificar" /><br />
        </form>
<?php
// Se deu POST, verifica se é ou não bissexto
$ano = $_REQUEST['ano'];
if ( isset($ano) )
{
    if ( bissexto($ano) )
    {
        echo "O ano ".$ano." é bissexto.";
    }
    else
    {
        echo "O ano ".$ano." não é bissexto.";
    }
}
?>
    </body>
</html>

Contribuição de Guilherme Giannoulakis

Ver exemplo

Anúncios

Um comentário em “PHP – Ano bissexto

  1. Guilherme Giannoulakis disse:

    Conheço esse teste aí.

    Mas a solução está errada.

    2100 não é bissexto, mas de acordo com seu código, é

    “ano%4==0”: bissexto
    “ano%100==0”: não bissexto
    “ano%400==0”: bissexto

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s