Calculo com Datas
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
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
Curtidas 0
Respostas
Imoreira
15/08/2007
var
TotalDia:variant;
begin
TotalDia:=strtodate(´10/02/07´)-strtodate(´10/01/07´);
//totaldia é o seu resultado em dias.
end;
TotalDia:variant;
begin
TotalDia:=strtodate(´10/02/07´)-strtodate(´10/01/07´);
//totaldia é o seu resultado em dias.
end;
GOSTEI 0
Ederp
15/08/2007
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.
...
Data1 := fieldbyname(´dtemissao´).AsDateTime;
...
Data2 := fieldbyname(´dtemissao´).AsDateTime;
...
Resultado := Data1 - Data2;
Lembrando que data1, data2, resultado são variaveis.
GOSTEI 0
Imoreira
15/08/2007
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;
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;
GOSTEI 0
Massuda
15/08/2007
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).GOSTEI 0
Ederp
15/08/2007
Sim 2 campos Dtemissao, porque são de tabelas diferentes !
Valew a ajuda vo tentar aqui p/ ver se dar certo !
Valew a ajuda vo tentar aqui p/ ver se dar certo !
GOSTEI 0
Ederp
15/08/2007
Valew pessoal deu certo aqui !!
:D
:D
GOSTEI 0