ObjectPascal
DecodeDateTime
Procedure
Breaks a TDateTime variable into its date/time parts DateUtils unit
 procedure DecodeDateTime ( const SourceDate : TDateTime; out Year, Month, Day, Hour, Min, Sec, MSec : Word ) ;
Description
The DecodeDateTime procedure extracts year, month, day, hour, minute, second and milli-second values from a given SourceDate TDateTime type value.
 
It stores the values in the output variables : Year, Month, Day, Hour, Min, Sec and MSec.
Related commands
DecodeDate Extracts the year, month, day values from a TDateTime var.
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 the date and then extract the date/time individual values
var
  myDate : TDateTime;
  myYear, myMonth, myDay : Word;
  myHour, myMin, mySec, myMilli : Word;

begin
  // Set up the myDate variable to have a December 2000 value
  myDate := StrToDateTime('29/12/2000 12:45:12.34');

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

  // And let us see what we get
  DecodeDateTime(myDate, myYear, myMonth, myDay,
                 myHour, myMin, mySec, myMilli);
  WriteLn('myDate now = '+DateToStr(myDate));
  WriteLn('myHour     = '+IntToStr(myHour));
  WriteLn('myMin      = '+IntToStr(myMin));
  WriteLn('mySec      = '+IntToStr(mySec));
  WriteLn('myMilli    = '+IntToStr(myMilli));
  WriteLn('myDay      = '+IntToStr(myDay));
  WriteLn('myMonth    = '+IntToStr(myMonth));
  WriteLn('myYear     = '+IntToStr(myYear));
end;
Show full unit code
   myDate now = 29/01/2001
   myHour     = 12
   myMin      = 45
   mySec      = 12
   myMilli    = 34
   myDay      = 29
   myMonth    = 1
   myYear     = 2001