Quantidade de Meses
Alguem saber de uma função que me de a quantidade de meses entre duas datas.
Obrigado desde já.
Obrigado desde já.
Manjuneiro
Curtidas 0
Respostas
Skaarj
12/03/2004
Uma funçao que faça isso eu nao saberia, mas faria da seguinte forma:
var mes1,mes2,dia,ano:word; diferenca: real; begin decodedate(data1,ano,mes1,dia); //menor data decodedate(data2,ano,mes2,dia); //maior data diferenca := mes2-mes1; showmessage(´A diferença dos meses é de ´+floattostr(diferenca)+´ meses´); end;
GOSTEI 0
Marco Salles
12/03/2004
Use a Função Apresentada Pelo Nosso Amigo Emerson Em Outro Tópico:
function MesEntreDatas(DataInicial, DataFinal: TDateTime): integer; var Dias, Meses, Anos: integer; DiaIni, DiaFim, MesIni, MesFim, AnoIni, AnoFim: word; begin if DataInicial > DataFinal then begin DecodeDate(DataFinal, AnoIni, MesIni, DiaIni); DecodeDate(DataInicial, AnoFim, MesFim, DiaFim); end else begin DecodeDate(DataInicial, AnoIni, MesIni, DiaIni); DecodeDate(DataFinal, AnoFim, MesFim, DiaFim); end; Dias := DiaFim - DiaIni; Meses := MesFim - MesIni; Anos := AnoFim - AnoIni; if Dias < 0 then Dec(Meses); Result := Meses + (Anos * 12); end;
GOSTEI 0
Keitarosan
12/03/2004
Bom, o Delphi jah traz essa duas funçoes aki:
[quote:0b4a95e405=´Busca no ClubeDelphi´]function MonthsBetween(const ANow, AThen: TDateTime): Integer;
Retorna o valor aproximado de meses entre as duas datas...
function MonthSpan(const ANow, AThen: TDateTime): Double;
Retorna o número de meses exato de meses entre as duas datas (a diferença é que este retorna um número decimal, porém exato);[/quote:0b4a95e405]
^_^
[quote:0b4a95e405=´Busca no ClubeDelphi´]function MonthsBetween(const ANow, AThen: TDateTime): Integer;
Retorna o valor aproximado de meses entre as duas datas...
function MonthSpan(const ANow, AThen: TDateTime): Double;
Retorna o número de meses exato de meses entre as duas datas (a diferença é que este retorna um número decimal, porém exato);[/quote:0b4a95e405]
^_^
GOSTEI 0