0

Quantidade de dias entre duas datas

criado por PorKaria em 12/03/2010 3:18pm
Função simples para retornar a quantidade de dias entre duas datas no formato aaaa-mm-dd.

Para quem está utilizando a versão 5.3 do PHP, recomendo usar a função nativa date_diff (http://br2.php.net/manual/en/function.date-diff.php)
Data Autor Changelog Download Deletar
12/03/2010 3:18pm PorKaria - Versão 0.1
12/03/2010 3:24pm PorKaria Versão 0.2 Versão 0.2

Comentários:

Mostrando 1 - 3 de 3 comentários
Sim, depois que eu vi :]

Em todo caso, fica como propaganda pro PHP 5.3
13/03/2010 2:34pm (~8 anos atrás)

PorKaria disse:
Então, foi o que eu disse na descrição do script =D

Só acho que ainda vai levar um bom tempo para o PHP 5.3 ficar popular. Ainda sofremos para a popularização do PHP 5. Código legado é o que mais temos e vamos ter.
12/03/2010 11:39pm (~8 anos atrás)

A partir do PHP 5.3, já podemos usar a classe DateTime em conjunto com a DateInterval:

/**
 * Retorna um inteiro, com o valor de dias entre as duas datas
 * @param string $inicio - formato: aaaa-mm-dd
 * @param string $fim - formato: aaaa-mm-dd
 * @return int
 */
function dataNumeroDias($inicio, $fim) {
    $data_inicio = DateTime::createFromFormat('Y-m-d', $inicio);
    $data_fim = DateTime::createFromFormat('Y-m-d', $fim);

    $diferenca = $data_fim->diff($data_inicio);
    return $diferenca['days'];

    // Ou assim:
    //return (int)$diferenca->format('%a');
}

Neste caso, acho que nem precisaria mais de uma função para isso. Basta armazenarmos as datas em um objeto DateTime. Pra obter a diferença, seria só:

$dias = (int)$data_fim->diff($data_inicio)->format('%a');
12/03/2010 9:19pm (~8 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)