Ver Mensaje Individual
  #1  
Antiguo 01-07-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
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:

Código Delphi [-]
function IncMonth(Fecha: TDateTime; Meses: Integer): TDateTime;

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

Código Delphi [-]
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
Responder Con Cita