请问如何得到一CTime对象与一表示月份数目的整数相加后的CTime?
如CTime tmNow = CTime::GetCurrentTime();
现在在tmNow 上加(减)上n个月,怎么做?

解决方案 »

  1.   

    同意dreamchild(梦小孩) 
    CSpanTime可对时间进行加减操作
      

  2.   

    CSpanTime只能对“天”以下的单位进行加减,整月的加减怎么办?难道去一天一天计算吗?这可不是我想要的结果!!!
      

  3.   

    不知道你可不可以换一个控件,如果可以的话,你试试DateTime Picker控件吧,它有一个SetDate和SetDateTime函数可以设定时间
      

  4.   

    用COleDateTime
    不过按月减没有现成的算法,你还是自己写吧
    COleDateTime g_MonthBegin(COleDateTime DateTime)
    {
    if(DateTime.GetStatus()==COleDateTime::valid){
    return COleDateTime(DateTime.GetYear(),DateTime.GetMonth(),1,0,0,0);
    }
    else
    return g_DateNull;
    }COleDateTime g_MonthEnd(COleDateTime DateTime)
    {
    if(DateTime.GetStatus()==COleDateTime::valid){
    if(DateTime.GetMonth()==12)
    return COleDateTime(DateTime.GetYear()+1,1,1,0,0,0)-COleDateTimeSpan(0,0,0,1);
    else
    return COleDateTime(DateTime.GetYear(),DateTime.GetMonth()+1,1,0,0,0)-COleDateTimeSpan(0,0,0,1);
    }
    else
    return g_DateNull;
    }
      

  5.   

    为什么我在VB版里面看到这个帖子?难道是CSDN坏掉了?
      

  6.   

    没有仔细思考?先试试jiangsheng(蒋晟.MSMVP2004Jan)的ColeDateTime看看。