VC6中日期时间控件设置与显示问题!

时间:2021-12-15 18:06:18
VC6中日期时间控件,添加CDdateTimeCtrl控件变量m_date,并用m_date.SetFormat(strTime);设置控件的日期,其中strTime

是从数据库中读取的日期字符串,设置后,显示的时间与下拉该控件时的时间不同,且再读取的时间也不一致。怎么才能让这

两个时间一直起来呢?

VC6中日期时间控件设置与显示问题!

4 个解决方案

#1


SetFormat只是修改显示方式
用CDateTimeCtrl::SetTime函数设置日期时间

数据库中可以支持日期类型的数据类型,
如果是字符串的话,得把字符串转换成COleDateTime CTime SYSTEMTIME中的一种类型

#2


顶楼上.. 可以设置时间格式: 只有时间,只有日期,长短之分.
可以设置当前时间,还有时间范围.

#3


原来如此

#4


我是这样通过控件修改电脑的时间和日期的。代码如下:
UpdateData();
LPSYSTEMTIME  st1 = new SYSTEMTIME() ;
LPSYSTEMTIME  st2 = new SYSTEMTIME() ;
LPSYSTEMTIME  stTime = new SYSTEMTIME() ;
::GetSystemTime(stTime);
DWORD  dwTemp;
dwTemp = m_dateCtrl.GetTime(st1);

if(dwTemp == GDT_VALID)
{
stTime->wYear = st1->wYear;
stTime->wMonth = st1->wMonth;
stTime->wDay = st1->wDay;
}

else
{
MessageBox("读取时间失败!");
}
dwTemp = m_timeCtrl.GetTime(st2);
if(dwTemp == GDT_VALID)
{
stTime->wHour = st2->wHour;
stTime->wMinute = st2->wMinute;
stTime->wSecond = st2->wSecond;
::SetLocalTime(stTime);
// ::SetSystemTime(stTime);
MessageBox("设置成功!");
}
else
{
MessageBox("读取时间失败!");
}
UpdateData(false);
free(st1);
free(st2);
free(stTime);

#1


SetFormat只是修改显示方式
用CDateTimeCtrl::SetTime函数设置日期时间

数据库中可以支持日期类型的数据类型,
如果是字符串的话,得把字符串转换成COleDateTime CTime SYSTEMTIME中的一种类型

#2


顶楼上.. 可以设置时间格式: 只有时间,只有日期,长短之分.
可以设置当前时间,还有时间范围.

#3


原来如此

#4


我是这样通过控件修改电脑的时间和日期的。代码如下:
UpdateData();
LPSYSTEMTIME  st1 = new SYSTEMTIME() ;
LPSYSTEMTIME  st2 = new SYSTEMTIME() ;
LPSYSTEMTIME  stTime = new SYSTEMTIME() ;
::GetSystemTime(stTime);
DWORD  dwTemp;
dwTemp = m_dateCtrl.GetTime(st1);

if(dwTemp == GDT_VALID)
{
stTime->wYear = st1->wYear;
stTime->wMonth = st1->wMonth;
stTime->wDay = st1->wDay;
}

else
{
MessageBox("读取时间失败!");
}
dwTemp = m_timeCtrl.GetTime(st2);
if(dwTemp == GDT_VALID)
{
stTime->wHour = st2->wHour;
stTime->wMinute = st2->wMinute;
stTime->wSecond = st2->wSecond;
::SetLocalTime(stTime);
// ::SetSystemTime(stTime);
MessageBox("设置成功!");
}
else
{
MessageBox("读取时间失败!");
}
UpdateData(false);
free(st1);
free(st2);
free(stTime);