我使用两个data time picker控件,其中一个命名为"起始时间",另一个是"截止时间"
初始化时我令"截止时间"是当前时间,我想问问各位高手,怎样使"起始时间"与"截止时间"
是一个月呢?

解决方案 »

  1.   

    你给这两个控件设两个关联的变量,然后定义一个Timespan 类型的变量设定为1个月。然后加让后面的结束时间等于开始时间加上Timespan就是两个时间间隔1个月。
      

  2.   

    CTimeSpan -> CTimeCOleTimeSpan   -> COleDateTimetm2 = tm1 + timeSpan(1个月)  
      

  3.   

    COleDateTime t1, t2;
    t2 = COleDateTime::GetCurrentTime();
    t1 = t2;
    switch(t1.GetMonth())
    {
    case 1:  //一月份
    t1.SetDate(t1.GetYear() - 1, 12, t1.GetDay());
    break;
    case 3:  //三月份
    if(t1.GetDay() >= 29)
    {
    if((t1.GetYear() % 4 == 0 && t1.GetYear() % 100 != 0)
      || t1.GetYear() % 400 == 0) //闰年
    t1.SetDate(t1.GetYear(), 2, 29);
    else
    t1.SetDate(t1.GetYear(), 2, 28);
    }
    els
    写的有点复杂了。
      

  4.   

    COleDateTime t1, t2;
    t2 = COleDateTime::GetCurrentTime();
    t1 = t2;
    switch(t1.GetMonth())
    {
    case 1:  //一月份
    t1.SetDate(t1.GetYear() - 1, 12, t1.GetDay());
    break;
    case 3:  //三月份
    if(t1.GetDay() >= 29)
    {
    if((t1.GetYear() % 4 == 0 && t1.GetYear() % 100 != 0)
      || t1.GetYear() % 400 == 0) //闰年
    t1.SetDate(t1.GetYear(), 2, 29);
    else
    t1.SetDate(t1.GetYear(), 2, 28);
    }
    els写的有点复杂了。
      

  5.   

    COleDateTime t1, t2;
    t2 = COleDateTime::GetCurrentTime();
    t1 = t2;
    switch(t1.GetMonth())
    {
    case 1:  //一月份
    t1.SetDate(t1.GetYear() - 1, 12, t1.GetDay());
    break;
    case 3:  //三月份
    if(t1.GetDay() >= 29)
    {
    if((t1.GetYear() % 4 == 0 && t1.GetYear() % 100 != 0)
      || t1.GetYear() % 400 == 0) //闰年
    t1.SetDate(t1.GetYear(), 2, 29);
    else
    t1.SetDate(t1.GetYear(), 2, 28);
    }
    else
    t1.SetDate(t1.GetYear(), t1.GetMonth() - 1, t1.GetDay());
    break;
    case 5:
    case 7:
    case 10:
    case 12:  //前一个月是小月
    if(t1.GetDay() == 31)
    t1.SetDate(t1.GetYear(), t1.GetMonth() - 1, 30);
    else
    t1.SetDate(t1.GetYear(), t1.GetMonth() - 1, t1.GetDay());
    break;
    default:  //其它月份
    t1.SetDate(t1.GetYear(), t1.GetMonth() - 1, t1.GetDay());
    }
    CString str;
    str = t1.Format("%Y-%m-%d %H:%M:%S");