CDateTimeCtrl控件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CDateTimeCtrl控件相关的知识,希望对你有一定的参考价值。
数据库中有一个类型为datetime的日期字段,现在我已经把这个字段取出来放在字符串strTime中,我怎样把strTime显示到Date Time Picker控件上。
// 首先必须保证你的strTime是 unicode 宽字符的,如果不是转换为宽字符。// 使用OLE函数。
DATE dtResult;
HRESULT hr= VarDateFromStr( strTime, GetSystemDefaultLCID(), 0, &dtResult);
// m_theDateTimePicker;
m_theDateTimePicker.SetTime( COleDateTime(dtResult) ); 参考技术A SetTime Sets the time in a date and time picker control.
MSDN中可以查到
CDateTimeCtrl::SetTime
BOOL SetTime( const COleDateTime& timeNew );
BOOL SetTime( const CTime* pTimeNew );
BOOL SetTime( LPSYSTEMTIME pTimeNew = NULL );
Return Value
Nonzero if successful; otherwise 0.
Parameters
timeNew
A reference to a COleDateTime object containing the to which the control will be set.
pTimeNew
In the second version above, a pointer to a CTime object containing the time to which the control will be set. In the third version above, a pointer to aSYSTEMTIME structure containing the time to which the control will be set.
Remarks
This member function implements the behavior of the Win32 messageDTM_SETSYSTEMTIME, as described in the Platform SDK.
In the MFC implementation of SetTime, you can use the COleDateTime or CTime classes, or you can use a SYSTEMTIME structure, to set the time information.
MFC 如何在CDateTimeCtrl控件里初始显示出字符串“YYYY-MM-DD”
MFC 如何在CDateTimeCtrl控件里初始显示出字符串“YYYY-MM-DD” 由于M和m是月和分的格式字符,所以每次显示的结果都是“YYYY-05-DD”,怎么样让该控件初始显示时,直接显示出时间格式字符串“YYYY-MM-DD”
参考技术A m_timer.SetFormat(_T("yyyy-MM-dd"));y,d注意是小写 参考技术B 默认显示
2013- 5-16
m_time.SetFormat(_T("yyyy-MM-dd"));
后显示为2013-05-16
m_time.SetFormat(_T("YYYY-\x4d\x4d-DD"));
显示为2013-05-16
m_time.SetFormat(_T("YYYY-'MM'-DD"));
显示为YYYY-MM-DD
没明白楼主的意思,所以列出几种可能本回答被提问者和网友采纳 参考技术C 添加一个值变量与DateTimeCtrl控件关联 参考技术D ((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER1))->SetTime(&CTime(2011,4,14,0,0,0));
︳
控件ID
用CTime类 初始化.
以上是关于CDateTimeCtrl控件的主要内容,如果未能解决你的问题,请参考以下文章
MFC 如何在CDateTimeCtrl控件里初始显示出字符串“YYYY-MM-DD”