怎样把一个字符串型时间譬如“2011-9-5”替换Date Time Picker控件中的时间,我就是想在程序中改变这个控件内显示的时间

解决方案 »

  1.   

    CString strText(_T("2011-9-5"));
    WORD wYear = 0;
    WORD wMonth = 0;
    WORD wDay = 0;
    _stscanf(strText, _T("%d-%d-%d"), &wYear, &wMonth, &wDay);
    CTime time(wYear, wMonth, wDay, 0, 0, 0);
    m_time.SetTime(&time);
      

  2.   

    CString str=(char *)((_bstr_t)m_pRst->GetCollect("出生日期"));
    UpdateData(false);
    CString strText(_T(str));
    WORD wYear = 0;
    WORD wMonth = 0;
    WORD wDay = 0;
    _stscanf(strText, _T("%d-%d-%d"), &wYear, &wMonth, &wDay);
    CTime time(wYear, wMonth, wDay, 0, 0, 0);
    m_datetime.SetTime(&time);

    m_datetime.GetWindowText(str);
    MessageBox(str);这时候获取的str依然是系统时间,添加进来的时间没反应到控件上啊 
      

  3.   

    已经解决:
    办法:CString strDateTime="2011-9-4";
         COleDateTime oledatetime;
         if(oledatetime.ParseDateTime(strDateTime))
              m_datetimectrl.SetTime(oledatetime);
    注意:我在使用SetTime函数时发现一个问题,最好在此之后不要用UpdateData(false),这样有可能改变m_datetimectrl的值变为当前的值或"1970-1-1",大家注意一下就行,并不是绝对的,我要没搞明白咋回事。