Retornas a Quantidade de Meses entre duas Datas
:shock: Como faço para saber quantos meses existem, na diferença entre duas datas?
Ex: 01/01/2003 a 01/12/2004 Resultado: 23 meses
Muito Obrigado
Ex: 01/01/2003 a 01/12/2004 Resultado: 23 meses
Muito Obrigado
Geraldo Júnior
Curtidas 0
Respostas
Ale.riopreto
24/05/2004
simples:
- Subraia a Data maior pela menor.
- Vc achara a quantidade de dias:
- divida os dias encontrados por 12, então vc terá a quantidade de meses no período.
Se vc multiplicar por 24 tera a quantidade de horas
se vc multiplicar a qt de horas obtidas por 60 tera em minutos
se vc multiplicar a tq minutos por 60 tera em segundos...
- Subraia a Data maior pela menor.
- Vc achara a quantidade de dias:
- divida os dias encontrados por 12, então vc terá a quantidade de meses no período.
Se vc multiplicar por 24 tera a quantidade de horas
se vc multiplicar a qt de horas obtidas por 60 tera em minutos
se vc multiplicar a tq minutos por 60 tera em segundos...
GOSTEI 0
Cbier
24/05/2004
Colega,
Tente assim no evento OnCalcFields da sua table:
//Sua tabela tem que ter dois campos data e dois campos formato numérico.
procedure TfmProd.tblAtestadosCalcFields(DataSet: TDataSet);
begin
if (tblAtestadosPeriodoDe.IsNull) or (tblAtestadosPeriodoAte.IsNull) then
tblAtestadosDias.value := 0
else
tblAtestadosDias.value := Trunc(tblAtestadosPeriodoAte.Value - tblAtestadosPeriodoDe.Value);
tblAtestadosMeses.value := (tblAtestadosDias.value div 30);
end;
CBier
Tente assim no evento OnCalcFields da sua table:
//Sua tabela tem que ter dois campos data e dois campos formato numérico.
procedure TfmProd.tblAtestadosCalcFields(DataSet: TDataSet);
begin
if (tblAtestadosPeriodoDe.IsNull) or (tblAtestadosPeriodoAte.IsNull) then
tblAtestadosDias.value := 0
else
tblAtestadosDias.value := Trunc(tblAtestadosPeriodoAte.Value - tblAtestadosPeriodoDe.Value);
tblAtestadosMeses.value := (tblAtestadosDias.value div 30);
end;
CBier
GOSTEI 0