Функція 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 змінної.
