Функция RecodeDate в Delphi измените только часть даты переменной TDateTime.
DateUtils unit
function RecodeDate (const SourceDate : TDateTime; const Year, Month, Day : Word) : TDateTime;
Функция RecodeDate позволяет изменять значения Год, Месяц, День переменной TDateTime, не влияя на время.
Функция RecodeDate: Изменение даты без изменения времени
var
myDate : TDateTime;
begin
// Установка даты в 29/10/2002 12:34:56
myDate := EncodeDateTime(2002, 10, 29, 12, 34, 56, 0);
ShowMessage('Начальная дата/время = '+DateTimeToStr(myDate));
// Теперь измените часть даты, не касаясь времени
myDate := RecodeDate(myDate, 1957, 2, 18);
ShowMessage('Новая дата/время = '+DateTimeToStr(myDate));
end;
Результат
Начальная дата/время = 29/10/2002 12:34:56
Новая дата/время = 18/02/1957 12:34:56
Похожие функции, процедуры и команды
DecodeDate — извлекает значения года, месяца, дня из TDateTime переменной.
DecodeDateTime — разбивает TDateTime переменную на ее части даты/времени.
DecodeTime — разбивает значение TDateTime на отдельные значения времени.
EncodeDate — формирует значение TDateTime из значений года, месяца и дня.
EncodeDateTime — формирует значение TDateTime из значений времени и дня.
EncodeTime — формирует значение TDateTime из значений часа, минуты, секунды и миллисеккунды.
RecodeTime — изменяет только время переменной TDateTime.
ReplaceDate — изменяет только часть даты TDateTime переменной.
ReplaceTime — изменяет только часть времени TDateTime переменной.
