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