ObjectPascal
DecodeDate
Procedure
Extracts the year, month, day values from a TDateTime var. SysUtils unit
 procedure DecodeDate ( const SourceDate : TDateTime; out Year, Month, Day : Word ) ;
Description
The DecodeDate procedure extracts year, month and day values from a given SourceDate TDateTime type value.
 
It stores the values in the output variables : Year, Month and Day.
Related commands
DecodeDateTime Breaks a TDateTime variable into its date/time parts
DecodeTime Break a TDateTime value into individual time values
EncodeDate Build a TDateTime value from year, month and day values
EncodeDateTime Build a TDateTime value from day and time values
EncodeTime Build a TDateTime value from hour, min, sec and msec values
RecodeDate Change only the date part of a TDateTime variable
RecodeTime Change only the time part of a TDateTime variable
ReplaceDate Change only the date part of a TDateTime variable
ReplaceTime Change only the time part of a TDateTime variable
 
Example code : Add a month to a date and then extract the year, month and day values
var
  myDate : TDateTime;
  myYear, myMonth, myDay : Word;
begin
  // Set up the myDate variable to have a December 2000 value
  myDate := StrToDate('29/12/2000');

  // Now add a month to this value
  myDate := IncMonth(myDate);

  // And let us see what we get
  DecodeDate(myDate, myYear, myMonth, myDay);
  WriteLn('myDate now = '+DateToStr(myDate));
  WriteLn('myDay      = '+IntToStr(myDay));
  WriteLn('myMonth    = '+IntToStr(myMonth));
  WriteLn('myYear     = '+IntToStr(myYear));
end;
Show full unit code
   myDate now = 29/01/2001
   myDay      = 29
   myMonth    = 1
   myYear     = 2001