Mega Code Archive

 
Categories / Delphi / Functions
 

Recodedate - change only the date part of a tdatetime variable dateutils unit

function RecodeDate ( const SourceDate : TDateTime; const Year, Month, Day : Word ) : TDateTime; Description The RecodeDate function allows the Year, Month and Day values of a TDateTime variable to be changed without affecting the time. 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 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 : Change the date without changing the time 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 date portion without touching the time myDate := RecodeDate(myDate, 1957, 2, 18); 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 = 18/02/1957 12:34:56