建议你查一下decodedate函数,你会很清楚的!

解决方案 »

  1.   

    delphi中的日期类型本身就是一个浮点数,将两个日期相减,得到结果的整数部分就是你要的数据
      

  2.   

    问题实在简单的大家都懒得回答了:
    Function GetDayNums(BeginTime,EndTime:TDateTime):Integer
    begin
         Result :=  Int(EndTime-BeginTime);
    end ;
      

  3.   

    johnpei你的回答是错的,请先在机器上运行通过以后再回答。
      

  4.   

    johnpei你的回答是错的,请先在机器上运行通过以后再回答。
      

  5.   

    meijg和johnpei是对的,DELPHI中日期和时间(DATETIME类型)是用浮点数存的,小数点前是公元0年到所表示日期的所过的总天数,小数点后是前一个0点到现在的豪秒数。
      

  6.   

    小弟来矣!
    if (IsLeapYear(哪个年)) then 
       二月 = 28
    else 二月 = 29;
    其它的月数手指头吧!!
         浪子^_^
      

  7.   

    var d1, d2: TDate;
    begin
      d1:=strtodate('00-1-20');
      d2:=strtodate('99-12-2');
      showmessage(floattostr(Int(d1 - d2)));
    end;
      

  8.   

    补充一下,根据delphi的帮助文件,TDateTime 是被定义成浮点类型的,整数部分是当前日期到公元1899年12月30日之间的天数之差(而不是公元0年)
      

  9.   

    (1)首先,你假设的这两个任意的日期最好转化成相同的格式;
    (2)然后,如果假设的日期在现有的机器上是合法的话,你可以用decodedatetime将两个日期分别拆分成年、月、日三部分,接下来的工作就是相应部分进行相减了,根据你的假设我想你应该很容易就编制出出色的代码来计算出它们相差的天数了吧;如果你的日期超出了计算机允许的范围,那么你可以采用FormatDatetime()函数来统一日期格式,再用Copy()函数分别将年、月、日取出来,其它的就简单了。
    Good Luck!
    Happy new year!