已知
dtime1,dtime2:Tdatetime;
设:dtime1:='2003-2-14 10:00:00',那假设dtime2应在dtime1后1.5小时,应怎样求出dtime2的值(即'2003-2-14 11:30:00')来,或者说怎么写程序求出?

解决方案 »

  1.   

    var
        dtime1,dtime2:Tdatetime;
    begin
        dtime1:= StrToDateTime('2003-2-14 10:00:00');
        dtime2 := dtime1 + StrToTime('1:30:00');
    end;
      

  2.   

    dt2.DateTime := dt1.DateTime + (1.5/24)
    试试
      

  3.   

    时间差的分钟数:(Form1上放三个TLabel(Label1/Label2/Label3)控件和一个TButton控件(Button1))
    以下方法在D6/7下才有效。
    procedure TForm1.Button1Click(Sender: TObject);
    var
      slT1, slT2: TStrings;
      iT1, iT2: integer;
    begin
      Label1.Caption := TimeToStr(Time);  //时间1
      Label2.Caption := TimeToStr(Time + 0.02);  //时间2
      slT1 := TStringList.Create;
      slT2 := TStringList.Create;  //此方法在D6后才出现
      slT1.Delimiter := ':';
      slT1.DelimitedText := Label1.Caption;
      slT2.Delimiter := ':';
      slT2.DelimitedText := Label2.Caption;
      //此方法在D6后才出现  iT1 := StrToInt(slT1[0]) * 60 + StrToInt(slT1[1]);  //时间1分钟数
      iT2 := StrToInt(slT2[0]) * 60 + StrToInt(slT2[1]);  //时间2分钟数
      Label3.Caption := IntToStr(iT2 - iT1);
      slT1.Free;
      slT2.Free;
    end;
      

  4.   

    哦!不好意思,忘了说了:
    我这里的dt1、dt2是TDateTimePicker
      

  5.   

    dtime2:=IncHour(dtime1,1);
    dtime2:=IncSecond(dtime1,30);
      

  6.   

    dtime2:=IncHour(dtime1,1);
    dtime2:=IncSecond(dtime1,30);
      

  7.   

    TDateTime实际上是一个64位的整数!!!