Comparação entre datas
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
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
Curtidas 0
Respostas
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.
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
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
27/06/2006
Como adiciono 1 dia a uma data?
GOSTEI 0
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
27/06/2006
uses
DateUtils;
usa a funçao IncDay()
IncDay(Date, 2) ai adicionei 2 dias a data atual..
DateUtils;
usa a funçao IncDay()
IncDay(Date, 2) ai adicionei 2 dias a data atual..
GOSTEI 0