假设我有两个DateTimePicker,分别选取了两个时间,我想算出这两个时间的相差天数,怎么算啊?如果能算的出,这个天数是什么型的啊?
我用:
DateTimePicker1.Date - DateTimePicker2.Date;
好像不能直接相减的,用
Int(DateTimePicker1.Date) - Int(DateTimePicker2.Date)
也试过,可是都出错!
为什么??

解决方案 »

  1.   

    trunc(DateTimePicker1.Date - DateTimePicker2.Date);
      

  2.   

    用trunc(datetimepicker1.date-datetimepicker2.date)
      

  3.   

    DateTimePicker1.Date - DateTimePicker2.Date返回值是一个浮点数,
    int(DateTimePicker1.Date) - Int(DateTimePicker2.Date)肯定不行因为日期是浮点型的,INT()就会对其取整导致不正确。可用如下:
    i:=trunc(DateTimePicker1.Date - DateTimePicker2.Date);
    返回的i值就是天数,可正可负。
      

  4.   

    UnitDateUtilsCategorydate/time routinesfunction DaysBetween(const ANow, AThen: TDateTime): Integer;DescriptionCall DaysBetween to obtain the difference, in days, between two TDateTime values.DaysBetween counts only whole days that have elapsed. Thus, DaysBetween reports the difference between Dec 31, 1999 11:59 PM and Jan 1, 2000 11:58 PM as 0 because the difference is one minute short of an entire day.
      

  5.   

    同意 wulhong 的说法, 就不多说了
      

  6.   

    DaysBetween(const ANow, AThen: TDateTime): Integer
      

  7.   

    DaysBetween是不是只能求某个时间与单前时间之间的天数哪?关注!
      

  8.   

    SIGH,都说到这份上了,放心用吧,DaysBetween能够满足你的要求了