现在时间00:00如何计算出240分钟以前的时间,最好有代码,谢谢!!!

解决方案 »

  1.   

    你看下面代码是否有启发
    如何得到两个时间的时间差(2000年8月29日)  作者:srw
      
    方法一:
    VAR Ti,StopT:TTime;
    begin
    Ti:=now;
    edit1.text:=timetostr(Ti);
    stopT:=Ti - strtodatetime('10:00:00');
    edit2.text:=timetostr(stopT);方法二:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    T: TDateTime;
    begin
    T := StrToTime('11:00') - StrToTime('10:00');
    ShowMessage(TimeToStr(T));
    end;Var S:String;
    begin
    S := StrToMyTime( FormatDatetime( 'h:m',
    StrToTime(11:00)-StrToTime(10:00) ) );
    end;Function Tform1.StrToMyTime( s:string ):string;
    var i,a,b:integer;
    isB:bool;
    begin
    a:=0;
    b:=0;
    isB:=False;for i:=1 to length(s) do
    begin
    if s[i]=':' then
    begin
    isB:=True;
    continue;
    end;if not isB then
    a:=a*10+strtoint(s[i])
    else
    b:=b*10+strtoint(s[i]);
    end;
    Result:=inttostr(a)+'小时'+inttostr(b)+'分钟';
    end;日期差:
    var
      TDay1, TDay2, DateDiff: TDateTime;
    begin
        TDay1 := EncodeDate(2000, 3, 4);
        TDay2 := EncodeDate(2000, 6, 4);
        DateDiff := TDay2 - TDay1;
        showmessage(floattostr(TDay2 - TDay1));
        showmessage(datetostr(datediff));
    end;
      

  2.   

    Function AddTime(CurrentDateTime:TDateTime;minutes:Integer):TDateTime;
    var
    begin
        Result:=CurrentDateTime+Minutes/60/24;//1=1 day,1/24 =1 hour ;1/24/60 minutes
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    edit1.Text:=datetimetostr(now);
    edit2.text:=Datetimetostr(strtodatetime(edit1.Text)-240/60/24);end;计算以前的时间用“-”计算以后的时间用“+”
      

  4.   

    lemon_wei(soft_fans) 的方法不錯,很簡單
      

  5.   

    lemon_wei(soft_fans) 的方法够简单了,其它方法也差不多
      

  6.   

    To cplumm:  不会吧,我测试了的没有问题嘛。(D6+win2000 server)
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    edit1.Text:='2003-12-5 00:00:00';
    //edit1.Text:=datetimetostr(now);
    edit2.text:=Datetimetostr(strtodatetime(edit1.Text)-240/60/24);end;
    //当00:00:00时如('2003-12-5 00:00:00')输出的是:2003-12-4 20:00:00
    好好的嘛