Calcular el número de días entre dos fechas

8985 vistas

Para calcular la diferencia entre dos fechas podemos usar varios métodos:

Usando directamente las fechas



delphi
  1. var
  2.   Fecha1, Fecha2: TDateTime;
  3.   Diff: Extended;
  4.   Dia1, Mes1, Ano1: Word;
  5.   Dia2, Mes2, Ano2: Word;
  6. begin
  7.   Fecha1 := EncodeDate(Ano1, Mes1, Dia1);
  8.   Fecha2 := EncodeDate(Ano2, Mes2, Dia2);
  9.   Diff := Fecha2 - Fecha1;
  10. end;



Usando una función



delphi
  1. var
  2.   Fecha1, Fecha2: TDateTime;
  3.   Diff: Extended;
  4.   Dia1, Mes1, Ano1: Word;
  5.   Dia2, Mes2, Ano2: Word;
  6. begin
  7.   Fecha1 := EncodeDate(Ano1, Mes1, Dia1);
  8.   Fecha2 := EncodeDate(Ano2, Mes2, Dia2);
  9.   Diff := DaysBetween(Fecha2, Fecha1); 
  10. end;



Usando la fecha juliana



delphi
  1. var
  2.   Fecha1, Fecha2: TDateTime;
  3.   Diff: Extended;
  4.   Dia1, Mes1, Ano1: Word;
  5.   Dia2, Mes2, Ano2: Word;
  6. begin
  7.   Fecha1 := EncodeDate(Ano1, Mes1, Dia1);
  8.   Fecha2 := EncodeDate(Ano2, Mes2, Dia2);
  9.   Diff := DateTimeToJulianDate(Fecha2) - DateTimeToJulianDate(Fecha1);
  10. end;



Nota: No olvidar de incluir en los dos últimos casos la unit DateUtils en la cláusula uses