Change only the time part of a TDateTime variable DateUtils unit
 function RecodeTime(const SourceDate TDateTime; const Hour, Min, Sec, MSec Word):TDateTime;
The RecodeTime function allows the Hour, Min, Sec and MSec (milli-second) values of a TDateTime variable to be changed without affecting the date.
Related commands
DecodeDateExtracts the year, month, day values from a TDateTime var.
DecodeDateTimeBreaks a TDateTime variable into its date/time parts
DecodeTimeBreak a TDateTime value into individual time values
EncodeDateBuild a TDateTime value from year, month and day values
EncodeDateTimeBuild a TDateTime value from day and time values
EncodeTimeBuild a TDateTime value from hour, min, sec and msec values
RecodeDateChange only the date part of a TDateTime variable
ReplaceDateChange only the date part of a TDateTime variable
ReplaceTimeChange only the time part of a TDateTime variable
 Download this web site as a Windows program.

Example code : Change the time without changing the date
  myDate : TDateTime;

  // Set the date to 29/10/2002 at 12:34:56
  myDate := EncodeDateTime(2002, 10, 29, 12, 34, 56, 0);
  ShowMessage('The starting date/time = '+DateTimeToStr(myDate));

  // Now change the time portion without touching the date
  myDate := RecodeTime(myDate, 7, 35, 22, 0);
  ShowMessage('The new      date/time = '+DateTimeToStr(myDate));
Show full unit code
  The starting date/time = 29/10/2002 12:34:56
  The new date/time = 29/10/2002 07:35:22
Delphi Programming © Neil Moffatt . All rights reserved.  |  Home Page