CDateTimeCtrl的成员函数GetTime(),MSDN上对这个函数的说明是:从日期和时间采集器上获得当前选择的值,并赋给参数。这个函数有三种参数形式:
1.BOOL GetTime( COleDateTime& timeDest ) const;
2.DWORD GetTime( CTime& timeDest ) const;
3.DWORD GetTime( LPSYSTEMTIME pTimeDest ) const
当我传入SYSTEMTIME类型的参数调用第三个参数的时候,无论采集器上选择的时间和日期是什么,pTimeDest都只能得到当前系统的日期和时间,无法得到控件设置的。
于是采用第一个函数:
COleDateTime odt;
SYSTEMTIME st;
CDateTimeCtrl *pDate = (CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER1);
pDate->GetTime(odt);
odt.GetAsSystemTime(st);
这样获得的st中的值就是控件设置的值,时间之间的转换值得探讨。