能说具体点吗?
我能得到今天星期几(D)
然后用今天的日期-(D-1)  就是这地方,怎么把一个日期减去能n天,然后得到新的日期?
谢了

解决方案 »

  1.   

    用COleDateTime类
    GetDayOfWeek  获得星期几 
    然后减去这几天
    在获得日期就是了具体的可以查msdn
      

  2.   

    随便写了下 COleDateTime datetimeToday,datetimeLastSunday;
    COleDateTimeSpan timeSpan;
    datetimeToday = COleDateTime::GetCurrentTime(); //获得当前系统时间
    timeSpan.SetDateTimeSpan( datetimeToday.GetDayOfWeek() - 1, 0, 0, 0 );//设置两时间点的间隔
    datetimeLastSunday = datetimeToday - timeSpan;
    CString strMsg;
    strMsg.Format("Last Sunday is %d-%d-%d",datetimeLastSunday.GetYear(),datetimeLastSunday.GetMonth(),datetimeLastSunday.GetDay());
    MessageBox(strMsg);
      

  3.   

    CTime time = CTime::GetCurrentTime()
    这个可以获得当前时间,
    然后time.GetMonth(),time.GetDay()
    然后再减一下呗
      

  4.   


    CTime t = CTime::GetCurrentTime(); int i = t.GetDayOfWeek(); if( i == 1 )
    {
    t -= CTimeSpan(7,0,0,0);
    }
    else
    {
    t -= CTimeSpan(i-1,0,0,0);
    } CString str; str = t.Format("%Y-%m-%d"); MessageBox(str);
      

  5.   

    原理:GetDayOfWeek() 函数获取了给定日期是星期几,1是星期天,2星期一,……所以,1时,给定日期要减去7天,2要减去1天,3减去2天,……星期天有点特别。