Comparação entre datas

Delphi

27/06/2006

Olá amigos e obrigado desde já por terem vindo;

um problema que talves seja mesmo simples, mas não estou conseguindo resolver:

eu preciso de comparar num sistema duas datas... uma está num maskEdit e a outra está num banco de dados e puxo ela através de um SimpleDataSet do DBExpress. na hora de comparar coloco as duas como date time olha o código:

[b:516be6d1d3] if StrToDateTime(dt_vigente.Text) > sds_financeiroDATA_VCTO.AsDateTime then begin[/b:516be6d1d3]

Acontece que nunca atende esse if, mesmo se os valores estiverem atendendo eles passam batido, e não entra nesse if....

preciso saber qual a formatação para poder comparar essas duas datas...

Abraços a todos!! :D


Btovix

Btovix

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

27/06/2006

Colega,

Existem muitas formas de resolver o problema. Os tipos TDateTime são Doubles, onde a parte inteira armazena a data e a parte fracionária armazena as horas. Dependendo da origem dos dados, apesar de parecer que realmente são iguais, podem ´carregar´ uma fração que distingue uma da outra. Neste caso, pode truncar os valores para se atingir o objetivo de compara apenas data e não levar em consideração as horas.


GOSTEI 0
Marco Salles

Marco Salles

27/06/2006

alem do que o Aroldo colocou , [b:e01d883f02]corretissimo[/b:e01d883f02] , tente isso :

if StrToDateTime(dt_vigente.Text) > StrToDateTime(sds_financeiroDATA_VCTO.AsString) then begin 



GOSTEI 0
Rui Lisboa

Rui Lisboa

27/06/2006

Como adiciono 1 dia a uma data?


GOSTEI 0
Marco Salles

Marco Salles

27/06/2006

Como adiciono 1 dia a uma data?


so somar +1

var
dia:Tdate;
begin
dia:=Date;
Dia:=dia+1;
showmessage(datetostr(dia));
begin



GOSTEI 0
Njuniorba

Njuniorba

27/06/2006

uses
DateUtils;

usa a funçao IncDay()

IncDay(Date, 2) ai adicionei 2 dias a data atual..


GOSTEI 0
POSTAR