大家好:
我有这样一个问题:
需要得到一个2008-10-01 00:00:00 这种形式的日期与时间的整合,所以用了两个DateTimePicker,一个用来得到日期,一个用来得到时间,类型都是COleDateTime。
我尝试直接相加数值,这样做是错误的,TBeginTime = (RFStartDate + RFStartTime)这个是错的,就得了一个很大的年份时间(如2180...什么的)。
所以有大侠知道要怎么相加整合在一起吗?谢谢。

解决方案 »

  1.   

    不要用加,直接用值就可以
    COleDateTime t(RFStartDate.GetYear(), RFStartDate.GetMonth(), RFStartDate.GetDay(), RFStartTime.GetHour(),  RFStartTime.GetMinute(),  RFStartTime.GetSecond());
    这样应该就可以了!
      

  2.   


    SYSTEMTIME stTime,stDate,stDT;
    ((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER1))->GetTime(&stTime);
    ((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER2))->GetTime(&stDate);
    ///////////////////////
    stDT.wYear=stDate.wYear;
    stDT.wMonth=stDate.wMonth;
    stDT.wDay=stDate.WDay;
    ///////////////////////
    stDT.wHour=stTime.wHour;
    stDT.wMinute=stTime.wMinute;
    stDT.wSecond=stTime.wSecond;
      

  3.   

    CTime ti(stDate.wYear,stDate.wMonth,stDate.wDay,stTime.wHour,stTime.wMinute,stTime.wSecond,-1);
      

  4.   


    这个我放进去,它提示的是“error C2064: 项不会计算为接受 6 个参数的函数”
    这怎么办呢?
      

  5.   

    可以的,估计那儿写错了什么,你仔细查查!
    还有,你试试COleDateTime t(2009,1,4,17,17,20);
    看看这样,如果这样可以,那么上面的也肯定能行!
      

  6.   

    COleDateTime t(RFStartDate.GetYear(), RFStartDate.GetMonth(), RFStartDate.GetDay(), RFStartTime.GetHour(),  RFStartTime.GetMinute(),  RFStartTime.GetSecond()); 
    我这边试了,编译可以通过,你查查其他原因!
      

  7.   

    ok了,谢谢。刚才我是这样写的所以有问题,
    COleDateTime t;
    t(RFStartDate.GetYear(), RFStartDate.GetMonth(), RFStartDate.GetDay(), RFStartTime.GetHour(),  RFStartTime.GetMinute(),  RFStartTime.GetSecond()); 现在好了。
    我结贴