time1-time2将相减所得值用encodetime函数分解出小时、分钟、秒甚至毫秒!!!!

解决方案 »

  1.   

    sorry!!!是decodetime函数!!!!
      

  2.   

    winds兄所说的我要分别求出然后在分解,在换成秒后相加。怎么那么复杂呀,我要求出两个时间的相差多少秒就可以。delphi中应该有合适的函数才对呀。或则还有没有在简单的方法了。
      

  3.   

    如果仅仅比较大小,可以用CompareFileTime函数,如果要求出相差多少,则应该进行变换之后再相减!
      

  4.   

    请worldcreater,说说listen的用法好吗?请具体结合我的例子来说吧!一定加分。
      

  5.   

    日期就是一个浮点数,整数部份为天,小数部份为时间,两个时间相减还是时间类型,它的值就是相差的时间,直接显示就是 (时:分:秒),用encodetime可将时,分,秒,毫秒赋给变量。
      

  6.   

    xiaowei:
         你误会了,我也想听听(我好象在误导你,对不起啦)
                     WorldCreater
      

  7.   

    好麻烦呀,怎么在delphi中就没有类似于vb中DateDiff,DateAdd这样的函数?那简直太方便了.
      

  8.   

    先用StrToDateTime转换为TDateTime类型
    然后将两个TDateTime类型的变量相减
    然后再FormatDateTime转化为字符串
      

  9.   

    真是复杂
    Delphi里时间用浮点数表示,直接不就是了
    整数部分就是相差多少天
    小数用decodetime函数处理一下就能知道是多少小时多少分多少秒多少毫秒
      

  10.   

    var
      time1,time2,time3:TDatetime;
      h,m,s:integer;
    begin
      time3:=time1-time2;
      decodetime(time3,h,m,s);
      result:=h*3600+m*60+s;
    end;
    复杂吗
      

  11.   

    你们都只想到两个时间相减的问题,怎么没有想到日期相减的问题呢,即两个TDateTime变量相减得多少秒的情况,那可就有点难度了。有谁解决了请通知我一下。
      

  12.   

    http://www.csdn.net/expert/Topic/50430.shtm
      

  13.   

    NameNick,
    为何不试试
    function DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp;
    我相信这东东应该很有用。
    两个日期或两个时候都转化成TTimeStamp型。
    再相减得出结果难道是难事吗?
      

  14.   

    var
      time1,time2,time3:TDatetime;
      h,m,s:integer;
    begin
      time3:=time1-time2;
      decodetime(time3,h,m,s);
      result:=h*3600+m*60+s;
    end;
    可以得到秒了!
    若要把日期也算上,用类似方法也可以啊