Página principal
Artículos y trucos
Catálogo de productos
Ejemplos y descargas
Mis libros
Cursos de formación
Investigación y desarrollo
Libros recomendados
Mis páginas favoritas
Acerca del autor
 
En colaboración con Amazon
 
Intuitive Sight

El mes siguiente y el anterior

Suponga que tiene un valor de tipo TDateTime representando a una fecha, y que quiere obtener la misma fecha, pero del mes siguiente o del anterior. En tal caso, no hay que liarse descomponiendo la fecha para adivinar el número de días del mes actual, ni nada semejante. Una oportuna función de la unidad SysUtils nos puede resolver directamente el problema:

function IncMonth(Fecha: TDateTime; Meses: Integer): TDateTime;

El parámetro Meses puede ser indistintamente positivo o negativo, para obtener una fecha anterior o posterior:

var
  DentroDeUnMes: TDateTime;
  HaceUnMes: TDateTime;
begin
  DentroDeUnMes := IncMonth(Date, 1);
  HaceUnMes := IncMonth(Date, -1);
  // ...
end;

Recuerde, de todos modos, que para adicionar o substraer días de una fecha basta con la suma y resta aritmética, la de toda la vida, pues las fechas se representan internamente en la VCL en formato juliano.