Comparação de datas em PHP

Fórum sobre outras linguagens de programação.

Moderador: Moderadores

cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Comparação de datas em PHP

Mensagem por cjp »

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

Em Harbour faço assim:

Código: Selecionar todos

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?
Inacio de Carvalho Neto
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Comparação de datas em PHP

Mensagem por Toledo »

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: Selecionar todos

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,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Comparação de datas em PHP

Mensagem por cjp »

Entendido, meu caro, funcionou. Muito obrigado.
Inacio de Carvalho Neto
Responder