Añadir o quitar días a una fecha

5071 vistas

Para añadir o quitar un número de días a una fecha podemos usar varios métodos:

Usando directamente la fecha



delphi
  1. var
  2.   Fecha1: TDateTime;
  3.   NbDias: Integer;
  4. begin
  5.   Fecha1 := EncodeDate(2002, 11, 1);
  6.   Fecha1 := Fecha1 + NbDias;
  7.   { o bien Fecha1 := Fecha1 - NbDias; }
  8. end;



La variable NbDias puede ser positiva o negativa.

Usando funciones



delphi
  1. uses
  2.   DateUtils;
  3. var
  4.   Fecha1: TdateTime;
  5.   NbDias: Integer;
  6. begin
  7.   Fecha1 := EncodeDate(2002, 11, 1);
  8.   Fecha1 := IncDay(Fecha1, NbDias);



La variable NbDias puede ser positiva o nogativa. También podemos usar las funciones IncMonth(), IncYear() y IncWeek().



delphi
  1.   Fecha1 := IncMonth(Fecha1, NbMes);
  2.   Fecha1 := IncYear(Fecha1, NbAno);
  3.   Fecha1 := IncWeek(Fecha1, NbSemana);



NbMes, NbAno y NbSemana pueden ser positivos o negativos.

Usando el día Juliano



delphi
  1. uses
  2.   DateUtils;
  3. var
  4.   Fecha1: TDateTime;
  5.   Ano, Mes, Dia, Hora, Minuto, Segundo, miliSec: Word;
  6.   NbDia: Integer;
  7.   DiaJul: Double;
  8. begin
  9.   Fecha1 := EncodeDateTime(Ano, Mes, Dia, Hora, Minuto, Segundo, miliSec);
  10.   DiaJul := DateTimeToJulianDate(Fecha1) + NbDia;
  11.   Fecha1 := JulianDateToDateTime(Fecha1);
  12. end;



NbDia puede ser un entero o real positivo o negativo.