例如:19:00:00-15:30:00=3.5小时。

解决方案 »

  1.   

    Function DiffTimeHour(MaxTime, MinTime: TDateTime): Real;
    Var
      Hour, Min, SEC, MSEC: Word;
      MaxMin, MinMin: Word;
    Begin
      DecodeTime(MaxTime, Hour, Min, SEC, MSEC);
      MaxMin:= Hour * 60 + Min;
      DecodeTime(MinTime, Hour, Min, SEC, MSEC);
      MinMin:= Hour * 60 + Min;
      MaxMin:= MaxMin - MinMin; //求出两时间差(分钟)
      Result:= (MaxMin Div 60) + (0-(MaxMin Mod 60));
    End;
      

  2.   

    首先你要明白Delphi中时间日期的格式:在Delphi中时间日期是一个Double型的数据。整数部分表示天,小数部分表示从0点到现在的秒数占全天秒数的百分比。如果你要求两个时间相差多少个小时应该这样计算:( Date1 - Date2 ) * 24!!!
      

  3.   

    Delphi_Li(Delphi Li) ( ) 还有如此方法
      

  4.   

    时间相减如何得到秒数相减的结果 
    function DiffTimeToSec(const DS,DE:TDateTime):integer;constSCALE=24*60*60;beginResult :=Round((DE-DS)*SCALE);end;试一试以下代码:procedure TForm1.Button1Click(Sender: TObject);vardtr,dts,dte : TDateTime;min : double;begindts :=strtodatetime('2000-11-9 12:30');dte :=strtodatetime('2000-11-9 11:30');dtr :=dte-dts;min :=dtr*24*60*60;showmessage(floattostr(min))end;
      

  5.   

    uses DateUtils;
    var
     i:double;
    begin
     i:= HourSpan(strtodatetime('19:00:00'),strtodatetime('15:30:00') );
     showmessage(floattostr(i));
    end;