Em algumas situações nós precisamos saber a diferença de dias entre duas datas. Para isso podemos usar a função DaysBetween(), presente na unit DateUtil. Esta função recebe dois objetos TDateTime e retorna um inteiro contendo a quantidade de dias entre as duas datas. Observe, no entanto, que a função DaysBetween() retorna apenas a quantidade de dias completos, ou seja, as horas, minutos, segundos e milisegundos são incluídos no cálculo dos dias. Se faltar apenas um segundo para completar um dia, tal dia não será incluído na contagem. Veja um exemplo de seu uso:
procedure TForm1.Button1Click(Sender: TObject);
var
data1, data2: TDateTime;
quant_dias: Integer;
begin
// vamos criar as duas datas, observe que as horas
// também foram definidas
// primeira data: 12/01/2010 às 09:10:15
data1 := EncodeDateTime(2010, 1, 12, 9, 10, 15, 0);
// segunda data: 15/01/2010 às 19:10:15
data2 := EncodeDateTime(2010, 1, 15, 19, 10, 15, 0);
// vamos obter a quantidade de dias entre as duas datas
quant_dias := DaysBetween(data1, data2);
// mostra o resultado
ShowMessage('A diferença de dias é: ' + IntToStr(quant_dias));
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.
|