Clipper On Line • Ver Tópico - Comparação de datas em PHP
Mudar para estilo Clássico
Discussão sobre outras linguagens de programação.
Postar uma resposta

Comparação de datas em PHP

21 Jun 2014 19:42

Preciso saber como fazer comparação de datas em PHP.

Em Harbour faço assim:

Código:
if dtaquila<date()-60


Sendo que dtaquila é um campo da base de dados do tipo data.

No PHP, vi no manual que a função date() retorna um campo data em vários formatos, mas não estou conseguindo fazer a comparação, nem mesmo quando coloco uma variável equivalente ao campo dtaquila da base no mesmo formato usado para a data atual (estou usando date('Y-m-d')).

Também vi no Google alguém sugerindo usar getdate(), mas também não conseguir usar.

Testei vários outros meios que achei no Google, mas nenhum deu certo.

Alguém me ajuda?

Comparação de datas em PHP

22 Jun 2014 09:56

Inácio, em PHP a comparação entre datas é um pouco diferente do que estamos acostumados com Harbour. A melhor maneira de comparar duas datas em PHP é transformar a data em um timestamp Unix (o número de segundos desde 01/01/1970), para isto podemos usar a função StrToTime(). Então o seu exemplo ficaria assim:

Código:
if (StrToTime(dtaquila) < StrToTime("-60 days"))

Obs.: o formato de dtaquila tem que ser "2014-06-22" (ANO-MES-DIA)

A expressão StrToTime("-60 days") é isto mesmo, corresponde a data atual - 60 dias.

O interessante do timestamp, que é calculado em números de segundos, então além da data pode também armazenar a hora. Aqui no BD do fórum, não tem um campo data e outro hora, nas tabelas existe apenas um campo onde é gravado o timestamp, assim já sei em que data e hora (horas:minutos:segundos) as mensagens são postadas.

Abraços,

Comparação de datas em PHP

23 Jun 2014 00:37

Entendido, meu caro, funcionou. Muito obrigado.
Postar uma resposta