CdateTimeCtrl

来源:互联网 发布:浙江企业数据平台 编辑:程序博客网 时间:2024/05/16 09:47

1 如果采用CTime进行程序编写,则时间只能在1970-1-1----2038-01-19之间,超过这个范围就出现异常了

2 应当采用COleDateTime


初始化控件:

    m_strBeg = "2010-01-01 12:22:33"

    COleDateTime   dt;

    dt.ParseDateTime(m_strBeg);
    
    ((CDateTimeCtrl*)GetDlgItem(IDC_BEGDATE))->SetTime(dt);// 日期
    ((CDateTimeCtrl*)GetDlgItem(IDC_BEGTIME))->SetTime(dt);// 时间


保存控件内容:

    COleDateTime tmBegDate, tmEndDate, tmBegTime, tmEndTime;
    
    ((CDateTimeCtrl*)GetDlgItem(IDC_BEGDATE))->GetTime(tmBegDate);
    ((CDateTimeCtrl*)GetDlgItem(IDC_ENDDATE))->GetTime(tmEndDate);
    ((CDateTimeCtrl*)GetDlgItem(IDC_BEGTIME))->GetTime(tmBegTime);
    ((CDateTimeCtrl*)GetDlgItem(IDC_ENDTIME))->GetTime(tmEndTime);
    
    m_strBeg = tmBegDate.Format(_T("%Y-%m-%d")) + _T(" ") + tmBegTime.Format(_T("%H:%M:%S"));
    m_strEnd = tmEndDate.Format(_T("%Y-%m-%d")) + _T(" ") + tmEndTime.Format(_T("%H:%M:%S"));
    
    if (m_strBeg > m_strEnd)
    {
        MsgBox(m_hWnd, _T("开始时间大于结束时间!"), _T("金盾CIS7"), MB_ICONINFORMATION);
        return FALSE;
    }


原创粉丝点击