SYSTEMTIME stNow;
::GetLocalTime(&stNow);如何将stNow加上/减去若干天呀?还要考虑闰年/闰月吗?

解决方案 »

  1.   

    用这个吧,SYSTEMTIME的时间小时是不正确的,不信你单步调一下
    CTime DaoCha_Time = CTime::GetCurrentTime(); 
     
    wYear=DaoCha_Time.GetYear();
    wMonth=DaoCha_Time.GetMonth();
    wDay=DaoCha_Time.GetDay();
    wHour = DaoCha_Time.GetHour();
    wMinute = DaoCha_Time.GetMinute();
    wSecond = DaoCha_Time.GetSecond();         COleDateTime  ts1(wYear, wMonth, wDay, wHour, wMinute, wSecond);
    COleDateTime  ts2(0, 0, 3,0, 0, 0);
    COleDateTime  ts3 = ts1 - ts2;
             ts1+ts2//同理的
    //         int  dy = ts3.GetSecond();
      看看ts3的成员函数就可以算出来是哪一年,哪一天..了      
             //这是减三天的
             在vc里没有判断闰年的
      

  2.   

    用CTime和CTimeSpan就可以了啊,下面是MSDN的例子
    CTime t( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999
    t += CTimeSpan( 0, 1, 0, 0 ); // 1 hour exactly
    ASSERT( t.GetHour() == 23 );
      

  3.   

    用 COleDateTime ss(1999,10,10)可以ss+=5的
      

  4.   

    继续请问一下,COleDateTime需要什么库支持呀?
      

  5.   

    #include <afx.h>
    MFC已经封装了