各位大侠:
    我有一个计算日期的难题:例如:2006年3月1日至2007年9月1日,间隔1年6个月,用程序怎么算,(注:经本人实验:yearsbetween()和monthsbetween()仅能算整年和整月,而且不准),而且要求格式如:1年6个月 (不能用18个月表示)难煞俺了!!!!!!!
求助!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    m1,y1,m2:integer;
    begin
    m1:=monthsbetween(date1,date2);
    m2:=m1 mod 12;
    y1:=m1 div 12;
    ShowMessage(Inttostr(y1)+'年'+IntToStr(m2)+'个月');
    end;
      

  2.   

    ps:如果感觉不精确可以用DecodeDatetime分解日期后计算
      

  3.   

    uses Math;var
      res,modv:Word;  DivMod(newprice,self.FCurrStepPrice,res,modv);
      //参数1是被除数,2是除数,res是积的整数部分,modv为余数