Quantidade de dias entre duas datas
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)
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 |
---|---|---|---|
12/03/2010 3:18pm | PorKaria | - | Versão 0.1 |
12/03/2010 3:24pm | PorKaria | Versão 0.2 | Versão 0.2 |
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.
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
(~14 anos atrás)
A partir do PHP 5.3, já podemos usar a classe DateTime em conjunto com a DateInterval:
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ó:
/** * 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
(~14 anos atrás)
Em todo caso, fica como propaganda pro PHP 5.3