Fórum Calculo com Datas #344511

15/08/2007

0

Bom dia pessoal,

Po to com um problema aqui que é o seguinte, preciso calcular a quantidade de dias entre 2 determinadas datas do banco de dados exemplo:

DataEmissao : 10/01/07
DataSaida: 10/02/07

Preciso calcular a quantidade de dias no delphi p/ essas duas datas, eu tentei tira-las do banco de dados coloca-las em variaveis e calcular mas não da o valor correto, alguém sabe como me ajudar ?!

Valew


Ederp

Ederp

Responder

Posts

15/08/2007

Imoreira

var
TotalDia:variant;
begin
TotalDia:=strtodate(´10/02/07´)-strtodate(´10/01/07´);
//totaldia é o seu resultado em dias.
end;


Responder

Gostei + 0

15/08/2007

Ederp

Po Isso até funcionária se eu tivesse trabalhando com datas pré-definidas, porém estou trabalhando com data de um banco de dados, a estrutura é a seguinte:
...
Data1 := fieldbyname(´dtemissao´).AsDateTime;
...
Data2 := fieldbyname(´dtemissao´).AsDateTime;
...
Resultado := Data1 - Data2;

Lembrando que data1, data2, resultado são variaveis.


Responder

Gostei + 0

15/08/2007

Imoreira

var
TotalDia:variant;
begin
TotalDia:=[color=red:b96e5d0d8c]fieldbyname(´dtemissao´).AsDateTime-fieldbyname(´dtemissao´).AsDateTime[/color:b96e5d0d8c] ;
[color=blue:b96e5d0d8c]//Dois campos ´dtEmissao´ ???[/color:b96e5d0d8c]
//totaldia é o seu resultado em dias.
end;


Responder

Gostei + 0

15/08/2007

Massuda

Resultado := Data1 - Data2;
O cálculo é esse mesmo. Assumindo que vc está pegando as datas dos campos corretos do BD, ´Resultado´ contem a diferença, em dias, entre as duas datas. Esse valor pode ser fracionário, use Round() para ter um resultado melhor. Usando seu exemplo inicial, ´Resultado´ deve ser 31 (dias).


Responder

Gostei + 0

15/08/2007

Ederp

Sim 2 campos Dtemissao, porque são de tabelas diferentes !

Valew a ajuda vo tentar aqui p/ ver se dar certo !


Responder

Gostei + 0

15/08/2007

Ederp

Valew pessoal deu certo aqui !!

:D


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar