Copiado de la delphi comunity:
mDateTimeToMillisecons es DateTimeToMillisecons
mMinutesBetween es MinutesBetween
Código Delphi
[-]function mDateTimeToMilliseconds(const ADateTime: TDateTime): Int64;
var
LTimeStamp: TTimeStamp;
begin
LTimeStamp := DateTimeToTimeStamp(ADateTime);
Result := LTimeStamp.Date;
Result := (Result * MSecsPerDay) + LTimeStamp.Time;
end;
function mMinutesBetween(const ANow, AThen: TDateTime): Int64;
begin
Result := Abs(mDateTimeToMilliseconds(ANow) - mDateTimeToMilliseconds(AThen))
div (MSecsPerSec * SecsPerMin);
end;
procedure TForm24.Button1Click(Sender: TObject);
var
dtA, dtB :TDateTime;
ano, mes, dia, hor1,hor2, min, seg, mil :int64;
begin
ano:=2022;
mes:=1;
dia:=1;
hor1:=10;
hor2:=11;
min:=0;
seg:=0;
mil:=0;
dtA := EncodeDateTime(ano, mes, dia, hor1, min, seg, mil);
dtB := EncodeDateTime(ano, mes, dia, hor2, min, seg, mil);
ShowMessage(IntToStr(mMinutesBetween(dtB, dtA)));
hor1:=9;
hor2:=10;
dtA := EncodeDateTime(ano, mes, dia, hor1, min, seg, mil);
dtB := EncodeDateTime(ano, mes, dia, hor2, min, seg, mil);;
ShowMessage(IntToStr(MminutesBetween(dtB, dtA)));
end;