我有两个DateTimePicker控件,我要在DELPHI中运算时时间差,可得到的值却不正确,哪位高手看看此代码哪里有问题:Edit1.Text:=formatdatetime('dd',DateTimePicker1.Date-DateTimePicker2.Date);线上等!

解决方案 »

  1.   

    两个日期的差不是日期了,是个实数。
    求时间差可以用DaysBetween,YearsBetween  等等
      

  2.   

    self.Edit1.Text:=IntToStr(DaysBetween(self.DateTimePicker1.Date,self.DateTimePicker2.Date));
    DaysBetween 在 DateUtils 中
      

  3.   

    DateTimePicker1.DateTime - DateTimePicker2.DateTime
      

  4.   

    你去dateutils这个单元看看,里面有你想要的
      

  5.   

    self.Edit1.Text:=IntToStr(DaysBetween(self.DateTimePicker1.Date,self.DateTimePicker2.Date));
    这个样子返回的数字比实际的日子差一天
      

  6.   

    self.Edit1.Text:=IntToStr(DaysBetween(self.DateTimePicker1.Date,self.DateTimePicker2.Date));
    这个样子返回的数字比实际的日子差一天self.Edit1.Text:=IntToStr(DaysBetween(self.DateTimePicker1.Date,self.DateTimePicker2.Date)+1);
      

  7.   

    easybjc(情愿不自由) 是减一 不是加一 呵呵 
      

  8.   

    100分?晕倒,楼主豪爽的很。
    我也来插一脚,其实也不是说一定差一天,现实生活中往往出现很多这样的情况。
    场景一:
    A:哎呀,今天5号,发工资10号,还有5天真难熬;
    B:是6天,今天还没过呢;
    A:是呀,真不想算上今天,难熬。
    场景二:
    A:喂,王出纳,你怎么克扣我工资呀,我5号开始上班,到今天一共6天呀。
    W:我那天从你身边过,你不是说‘不想算上今天’吗?
    A:啊?
    以上场景诠释了“差几天”和“有几天”的区别。
      

  9.   

    self.Edit1.Text:=IntToStr(DaysBetween(self.DateTimePicker1.Date,self.DateTimePicker2.Date)+1);
      

  10.   

    我接下分得了,以前也像楼主一样找过,后来解决了,哈哈
    十分羡慕 lijinghe1(副乡长) ( ) 兄呀,也十分感谢,帮我解决了问题,