Buscar

Como retornar quantidade de dias meses e anos entre duas datas

Código

Como retornar quantidade de dias meses e anos entre duas datas
Ola
 
Hoje de manhã procurei uma função no Delphi que fizesse o que eu queria e não achei nada , ai fui obrigado a fazer . Bom, pode ser util pra mais gente . Esta procedure retorna a diferença entre 2 datas em dias, meses e anos .
 

Procedure EntreDatas(DataFinal,DataInicial : TDate ; var Anos,Meses,Dias : Integer) ;
//
// Retorna a diferença em Dias,Meses e Anos entre 2 datas
//
  Function Calcula(Periodo : Integer) : Integer ;
  var
     intCont : Integer ;
  begin
    intCont := 0 ;
    Repeat
    Inc(intCont) ;
    DataFinal := IncMonth(DataFinal,Periodo * -1) ;
    Until DataFinal < DataInicial ;
    DataFinal := IncMonth(DataFinal,Periodo) ;
    Inc(intCont,-1) ;
    Result := intCont ;
  End ;
begin
  if DataFinal <= DataInicial then
  begin
    Anos := 0 ;
    Meses := 0 ;
    Dias := 0 ;
    exit ;
  end;
  Anos := Calcula(12) ;
  Meses := Calcula(1) ;
  Dias := Round(DataFinal - DataInicial) ;
end;
 

 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Arquivos
Adicionada dia: 05/05/05
Por: Dapper Rodrigo
Visualizada: 6624 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009