我的到了一个日期字符串,如2010-3-5,
现在我想得到这个日期加m月后的日期,如m=14,则得到2011-5-5,请问应该如何实现?
谢谢~

解决方案 »

  1.   

    用“月”数据构造一个CTime对象。两个CTime对象相“+”。
      

  2.   

    去MSDN上查询CTimeSpan类,这是一个用于CTime类的时间跨度计算的辅助类
    示例:CTime mCurrentTime = CTime::GetCurrentTime();
    CTimeSpan mTimeSpan(1,0,0,0);
    CTime mTomorrowTime = mCurrentTime+mTimeSpan;虽然这是MFC的东西,但是了解使用方法的话,完全可以在其它平台上自己写一个类似的东西
      

  3.   

    COleDateTime co;
    t = COleDateTime(2010,3,5,16,0,0);
    COleDateTimeSpan dt;
    dt.SetDateTimeSpan(0, 0, 1, 0); 
    co = t+ dt; 
      

  4.   

    CTIME类会自动一个月有几天的问题吗
      

  5.   

    肯定是CTimeSpan, 呵呵.或者COleDateTimeSpan
      

  6.   

    我用CTimeSpan或者COleDateTimeSpan都只能实现天数的加减,不知道怎么实现月份加减,能把代码告知的详细点吗?谢谢大家~~
      

  7.   

    最后,还是没找到那个直接用的函数= =
    我自己编了个函数,直接调用了
    CString CAllotCyc::OverdueTime(CTime strControl, CString strDates)
    {
    CTime tm = strControl;
    int y=tm.GetYear();
    int m=tm.GetMonth();
    int d=tm.GetDay();
    int mt=atoi(strDates);
            m=m+mt;
    y=y+m/12;
    m=m%12;
    if(m==2&&d>28)
    {
       d=28;
    }
    if((m==4||m==6||m==9||m==11)&&d==31)
    {
    d=30;
    }
    strDates.Format("%d-%d-%d",y,m,d);
    return strDates;
    }
    希望对大家有用