Calculo com datas...

Delphi

19/05/2003

Me desculpem pessaol, mas ainda chego lá!
O meu problema agora é com data. Já recebi auxílio, sobre como subtrair uma data da outra. Deu certo! Estou querendo ver quantos dias passou de uma data, para poder ser cobrada uma multa. Estou fazendo DecodeDate(datadevolucao....) e o mesmo em Date, e tá funcionando mais ou menos. Se o atraso é de vários dias, beleza. Mas quando o atraso é de apenas um dia, dá um :?: número maluco pra caramba e a multa vai lá pra cima! Se puderem me ajudar, ou indicar alguma apostila que fale sobre estes tratamentos de data, etc, agradeço muito!
Abraços!
Luiz


Calandrin

Calandrin

Curtidas 0

Respostas

Alphablend

Alphablend

19/05/2003

Tente o comando DaysBetween !!!
Só uma coisa, ele só conta dias inteiros, por exemplo:
entre os dias 12/02/2003 10:00:00 e 13/02/2003 08:30:00 (o delphi coloca as horas tb) há 0 dias de diferença .... o jeito DaysBetween(dataANTES,dataHOJE)+1;

Existem vários outro comandos para manipulação de data como :

MonthsBetween
YearsBetween
DayOfWeek

etc...

Abraços

AlphaBlend


GOSTEI 0
Inutaishou

Inutaishou

19/05/2003

Você pode fazer algo assim também:

Var Data1, Data2 : TDateTime; Var Diferença : Integer; Var Multa : Double; Begin While Data1 <= Data2 Do Begin Diferença := Diferença + 1; Data1 := Data1 + 1; End; Multa := Diferença*MultaPorDiaDeAtraso End;


Espero ter ajudado.


GOSTEI 0
Calandrin

Calandrin

19/05/2003

Vou tentar fazer como me orientaram... muito obrigado!

Luiz :D


GOSTEI 0
POSTAR