已经关联了控件
DDX_Control(pDX, IDC_DATETIMEPICKER_TIME, InputTime);
CString CAddDlg::GetData()
{
CTime tempTime;
UpdateData(TRUE);加不加这句显示的时间都是1970-01-01
InputTime.GetTime(tempTime);
CString retTime = tempTime.Format("%Y-%m-%d");
AfxMessageBox(retTime);
return retTime;//如果直接返回一个 L"2010-01-23"则是正确的 返回GetTime获得的时间则会提示 参数错误
}CString dt = adddlg.GetData();
dt += " 0:0:0";
AfxMessageBox(dt);
COleVariant vtime(dt);
vtime.ChangeType(VT_DATE);
COleDateTime t4 = vtime;
SYSTEMTIME systemtime;
VariantTimeToSystemTime(t4, &systemtime);
CTime tm(systemtime);// 参数错误应该说的这里我用的 Visual studio 2008
win7系统请问该怎么写呢?获取控件的时间
DDX_Control(pDX, IDC_DATETIMEPICKER_TIME, InputTime);
CString CAddDlg::GetData()
{
CTime tempTime;
UpdateData(TRUE);加不加这句显示的时间都是1970-01-01
InputTime.GetTime(tempTime);
CString retTime = tempTime.Format("%Y-%m-%d");
AfxMessageBox(retTime);
return retTime;//如果直接返回一个 L"2010-01-23"则是正确的 返回GetTime获得的时间则会提示 参数错误
}CString dt = adddlg.GetData();
dt += " 0:0:0";
AfxMessageBox(dt);
COleVariant vtime(dt);
vtime.ChangeType(VT_DATE);
COleDateTime t4 = vtime;
SYSTEMTIME systemtime;
VariantTimeToSystemTime(t4, &systemtime);
CTime tm(systemtime);// 参数错误应该说的这里我用的 Visual studio 2008
win7系统请问该怎么写呢?获取控件的时间
---------
说得不清不楚的
那你看看返回retTime时,这个是什么值啊
就是调用SetTime()设置的时间是怎么来的
这个 InputTime和那个date time picker控件关联了我就想获取date time picker控件显示的日期时间
有一个 AddDlg的窗体 在.h文件里声明了一个 CDateTimeCtrl 的对象 InputTime
然后就直接 用InputTime.GetTime来获取控件的日期
故你在初始化的时候加上一句InputTime=CTime::GetCurrentTime()
有一个 AddDlg的窗体 在.h文件里声明了一个 CDateTimeCtrl 的对象 InputTime
然后就直接 用InputTime.GetTime来获取控件的日期
------------------------------------------------------
CDateTimeCtrl 控件也是要你初始化时间的,
否则默认了
DDX_Control(pDX, IDC_DATETIMEPICKER_TIME, InputTime);
这个 InputTime是CDateTimeCtrl InputTime;CTime tempTime;我把tempTime初始化也还是错误的
http://msdn.microsoft.com/en-US/library/yt32ce9h(v=VS.80).aspx在这句 ::SendMessage(m_hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM) &sysTime);
winctrl5.cpp文件里的
DWORD CDateTimeCtrl::GetTime(_Out_ CTime& timeDest) const
{
SYSTEMTIME sysTime;
DWORD dwResult = (DWORD)
::SendMessage(m_hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM) &sysTime); if (dwResult == GDT_VALID)
timeDest = CTime(sysTime); return dwResult;
}
CTime time;
CDateTimeCtrl* pDate = (CDateTimeCtrl*)GetDlgItem(控件ID);
pStartDate->GetTime(time);
我做的这个小东西,首先有个 mainform 然后点击 add 按钮 后,在add按钮里 有那个date time picker控件。
应该没什么区别的呀。
囧
DDX_DateTimeCtrl(pDX, IDC_BORNDATE, m_BornDate);这样的话,在程序或对话框OnInitDialog()中进行初始化,如下:
InputTime=CTime::GetCurrentTime()如果要用到这个控件的时间,直接用=号就可以了。
CTime tempTime;
tempTime=InputTime;
CString retTime = tempTime.Format("%Y-%m-%d");试试以上的方式。
InputTime=CTime::GetCurrentTime();
我在OnInitDialog里对控件进行初始化,但是控件上边显示的时间是1970-01-01呢?
的后面加上一句UpDateData(false)即可显示出正确的时间。