Comparação de datas com PHP e a função strtotime

Comparação de datas com PHP e a função strtotime

Muitas pessoas que estão iniciando no PHP têm essa dúvida e acabam achando algo difícil trabalhar com datas. Na verdade, não é tão complicado…

Comparar duas ou mais datas pode ser muito útil quando estamos programando. Por exemplo… Se você quiser saber entre 2 usuários qual deles é o mais recente no sistema?

Desde que você tenha um campo na tabela de usuários informando a data de cadastro, essa tarefa não vai dar muito trabalho, porque basta comparar as duas datas de cadastro para saber rapidamente quem é o usuário mais antigo, ou mais recente no sistema.

Este foi apenas um exemplo bem simples de como podemos aplicar na prática o conteúdo do artigo de hoje. E tenho certeza de que você já pensou em várias outras possibilidades de uso.

Antes de continuarmos, algumas considerações:

1. Em nosso exemplo, temos que saber que se o ano for escrito com 2 dígitos, os valores entre 00-69 serão passados a 2000-2069 e os valores entre 70-99 serão passados a 1970-1999.

2. A data terá de estar obrigatoriamente entre 13-12-1901 20:45:54 GMT e 19-01-2038 03:14:07 GMT. (Estes datas correspondem aos valores mínimos e máximos de um inteiro de 32 bits).

Comparação de datas seguindo os parâmetros acima:

<?php
// primeira data
$dataI= '2009-09-15';
// trabalhando a primeira data
$I= strtotime($dataI );
// segunda data
$dataII= '2000-12-25';
// trabalhando a segunda data
$II= strtotime($dataII);
if ($I == $II) echo $dataI.' = '.$dataII;
else echo ($I > $II) ? $dataI.' > '.$dataII : $dataI.' < '.$dataII;

Até mais, esse foi ainda um exemplo simples de comparar datas, mas um dos mais eficazes. Se você tiver qualquer dúvida sobre a comparação de datas com o PHP, fique à vontade para fazer suas perguntas nos comentários logo abaixo. Ficarei feliz em ajudar!

Este foi mais um artigo publicado originalmente em 17 de dezembro de 2009 no meu antigo blog BrasilPHP.net. Este projeto me inspirava muito na época, e agora estar de volta com ele, mesmo sendo em outro site, me orgulha muito.

Hellston Linhares

Deixe um comentário

O seu endereço de e-mail não será publicado.