Atualizado em 16 de Agosto de 2013

Como Calcular Dias entre duas Datas PHP

Olá pessoal,

Já vimos aqui no blog Como Comparar Data com PHP, então surge uma pequena dúvida: Como Calcular a quantidade de Dias entre duas Data?. É exatamente disso que tratar neste post.

No exemplo abaixo vamos usar o comando strtotime que gera o timestamp da data no formato textual para que possamos trabalhar com a mesma. Na lógica isso nos permitirá calcular o número de dias considerando a diferença em segundos de cada data.

Veja o exemplo:

<?php
$data_inicial = '2013-08-01';
$data_final = '2013-08-16';

// Calcula a diferença em segundos entre as datas
$diferenca = strtotime($data_final) - strtotime($data_inicial);

//Calcula a diferença em dias
$dias = floor($diferenca / (60 * 60 * 24));

echo "A diferença é de $dias entre as datas";
?>

Explicando o script:
O script já esta bem auto-explicativo, porém vale ressaltar o calculo matemático que foi realizado na linha 9.

Após obter a diferença em segundos entre as duas datas (linha 6) basta fazer a divisão deste valor pelo número de segundos de um dia (60*60*24) que ele irá retornar a quantidade de dias (o comando floor foi utilizado para arredondar o número).


E isso aí pessoal, não deixem de curtir a página do Mauricio Programador:



até a próxima.

Tags:  Comandos PHP | Funções | PHP

Comentários

Sua foto do perfil

felipe

pra mim nao deu certo o codigo... aparece a seguinte mensagem: Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\teste\calculo.php on line 9 .... e eu coloquei exatamente o que está descrito na postagem

07 de Janeiro de 2015 - 16:30

Sua foto do perfil

Mauricio Programador

Olá Felipe,

testei ele aqui novamente e esta ok, posta o seu ai para eu ver.

abraço.

08 de Janeiro de 2015 - 10:04

Sua foto do perfil

Paulo Farias

Nossa, suei durante dias e você me apresentou a solução de maneira muito simples e prática. Já está funcionando. Abraço!!

27 de Dezembro de 2014 - 19:56

Sua foto do perfil

abel

estou tentando usar datas no padrao brasileiro,, mas nao ta dando certo,,,

22 de Outubro de 2014 - 17:02

Sua foto do perfil

Mauricio Programador

Olá Abel,

Para fazer o calculo, você terá que deixar a data como mostra o exemplo, dai depois se quiser exibir no padrão brasileiro transforme-a novamente.

Abraço.

23 de Outubro de 2014 - 09:03

Sua foto do perfil

Fabiano

Show de bola. Funciona perfeitamente! Obrigado.

08 de Abril de 2014 - 16:59

NEWSLETTER

Receba dicas de programação
em seu e-mail

TWITTER

Acompanhe tudo o que rola
com Mauricio Programador

NEWSLETTER