O PHP não é muito feliz quando o assunto é comparar data e hora, sempre que procuro boas alternativas para fazer isto no PHP, continuo ainda preferindo a versão do MySQL, que uso já há algum tempo. Por incrível que pareça ela ainda consegue ser mais limpa, rápida e acurada do que as soluções feitas somente em PHP.
Para fazer esta comparação em MySQL basta utilizar a função TIMEDIFF dentro de uma query SELECT:
SELECT TIMEDIFF('AAAA-MM-DD HH:MM:SS', 'AAAA-MM-DD HH:MM:SS')
Se o primeiro parâmetro for uma data menor que o segundo, então o valor retornado será negativo, o que pode ser bom para em casos que você tenha que descobrir se algo já passou de algum prazo estipulado.
No PHP você poderia trabalhar da seguinte forma:
$sql = mysql_query("SELECT TIMEDIFF('2011-01-28 09:00:00','2011-01-28 00:00:10') as dif");
$time = mysql_fetch_array($sql);
echo($time[dif]);
O resultado final será a diferença em horas, o que em muitos casos é o suficiente, agora se você precisa de outros formatos, terá que recorrer a outras funções.
Até a próxima!
Nenhum comentário:
Postar um comentário