比如 现在是2004-12-22 我要求其下一个月就是 2005-1-22或者现在是2004-1-22  我要求其上一个月就是 2003-12-22 

解决方案 »

  1.   

    在delphi里面时间和日期是一个整数
    单位好象是秒还是毫秒,你看看datetime的帮助就可以了
    如果你要加几天或者几个月直接加旧可以了
    例如
    var 
    d:datetime;
    s:string;
    begin
    d:=now; //现在时间
    d:=d+60*60 //d改变为当前时间之后的一个小时(假设是按秒为单位)
    s:=inttostr(hour(d)); //取得小时数目,用day(d)取得日期,month(d)取得月份,类似推理
    showmessage(s);
    end;
      

  2.   

    var
    d,m,y:integer;//定义要加的日,月,年
    dd:datetime;//定义时间变量
    s:string;
    begin
    dd:=now;
    dd:=dd+d*(相应常数1)+m*(相应常数2)+y*(相应常数3)//常数其实就是把月日年化为秒或者毫秒
    //要用的那个,时间前进用加,后退用减
    s:=datetimetostr(dd);
    showmessage(s);
    end;
      

  3.   

    uses DateUtils
    var
    d1,d2:tdatetime;d1:=incMonth(date,-1);//当前日期前一个月
    d2:=incMonth(date,1);//当前日期后一个月dateadd里的參數表:
    Datepart 縮寫 
    Year yy, yyyy 
    quarter   qq, q 
    Month     mm, m 
    dayofyear dy, y 
    Day       dd, d 
    Week      wk, ww 
    Hour      hh 
    minute     mi, n 
    second    ss, s 
    millisecond  微秒