如何在不诉诸TimeToStr的情况下从TTime中删除秒(const datetime:TDateTime; const formatsettings:TFormatSettings)

Ste*_*e F 9 delphi

如何在不使用TimeToStr(const datetime:TDateTime; const formatsettings:TFormatSettings)来获取没有秒的TTime值的额外开销的情况下从TTime变量中删除秒数?

即这是我需要的 - > HH:MM:00.

是否有某种数学运算(如ANDing或ORing值的东西)可以执行?

Rem*_*eau 21

uses
  ..., DateUtils;

var
  t: TTime;
begin
  t := ...;
  t := RecodeSecond(t, 0);
end;
Run Code Online (Sandbox Code Playgroud)


ood*_*ner 18

var
  t: TTime;
  iHour, iMin, iSec, iMSec: Word;

DecodeTime(t, iHour, iMin, iSec, iMSec);
t := EncodeTime(iHour, iMin, 0, 0);
Run Code Online (Sandbox Code Playgroud)