Mega Code Archive

 
Categories / Delphi / Functions
 

Recodetime - change only the time part of a tdatetime variable dateutils unit

function RecodeTime ( const SourceDate : TDateTime; const Hour, Min, Sec, MSec : Word ) : TDateTime; Description 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 DecodeDate Extracts the year, month, day values from a TDateTime var. 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 ReplaceDate Change only the date part of a TDateTime variable ReplaceTime Change only the time part of a TDateTime variable Example code : Change the time without changing the date var myDate : TDateTime; begin // 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)); end; Show full unit code The starting date/time = 29/10/2002 12:34:56 The new date/time = 29/10/2002 07:35:22