Trabalhando com datas no PHP
Diego Pires | 25/02/2008Já vi muita gente quebrar a cabeça para fazer comparações, adicionar, remover dias de uma determinada data e etc. Ou seja, problemas para trabalhar e manipular datas com o PHP.
Vou procurar explicar da maneira mais simples e prática possível, pois não tem segredo trabalhar e manipular datas no PHP.
Comparando datas
A forma mais fácil de se comparar duas datas, para saber se uma é maior, menor ou igual a outra é transformando as mesmas no seguinte formato: Ymd.
Dessa forma basta usar os comparadores lógicos > < == >= <= para chegar o resultado esperado. Exemplo:
O usuário tem que digitar em seu sistema duas datas para que um relatório seja montado. Para saber se a primeira data digitada (o que seria o início) não é maior que a segunda data digitada (que seria o final) transforma-se as duas no formato Ymd e pronto:
$data1 = “20/10/2007″;
$data2 = “20/12/2007″;
Transformando-se as duas no formato Ymd
$data1 = substr($data1,6,4).substr($data1,4,2).substr($data1,0,2);
$data2 = substr($data2,6,4).substr($data2,4,2).substr($data2,0,2);
E depois basta compara-las:
if($data1 > $data2) die();
Adicionando ou removendo dias
Para adicionar ou remover dias de uma determinada data também é bem simples… Para isso o mais fácil é utilizar a função mktime().
No exemplo abaixo eu quero pegar que dia foi exatos 231 dias atrás
$data = date(”d/m/Y”,mktime(0,0,0,date(”m”),date(”d”)-231,date(”Y”)));
Mais fácil que isso impossível
E o mesmo se aplica a meses e anos. E também a soma de dias, meses e anos.
$data = date(”d/m/Y”,mktime(0,0,0,date(”m”)+3,date(”d”),date(”Y”)));
No exemplo acima ele retorna a data, 3 meses após a data de hoje.
Conclusão
Para trabalhar com datas no PHP é bem simples. A única coisa que precisamos é não complicar e sim simplificar.
Em todos os casos, a melhor consulta sempre é o php.net
Não deixe de ler também:
Se gostou do texto e não quer perder as atualizações assine meu feed!







resolveu meu problema, valeu
noel | 09/03/2008resolveu meu problema, valeu
como manipular para consulta a data junto ao ODBC retirando
Olivio | 05/08/2008como manipular para consulta a data junto ao ODBC retirando da tabela todos os registros acima de um data que é passada por string(ex. $datab=”03/04/2008″).
Grato,
Olivio