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控件的主要内容,如果未能解决你的问题,请参考以下文章

请问CDateTimeCtrl控件的使用

MFC 如何在CDateTimeCtrl控件里初始显示出字符串“YYYY-MM-DD”

如何在 CDateTimeCtrl 中居中对齐文本?

CDateTimeCtrl类型的日期如何比较大小

VC中datetimepicker控件如何显示日期和时间,默认的只有日期。。

CDateTimeCtrl 设置时间