您的位置:首页 > 编程语言 > C语言/C++

MFC中使用日期控件设置,获取日期时间

2014-11-20 12:43 405 查看
   日期时间控件为用户输入或选择特定日期提供了直观简洁的方法,MFC中的Date Time Picker提供了日期时间控件。

  下面给出本次程序的Demo



首先,我们需要在OninitDialog中初始化时间日期控件,并为他设置范围

m_ctldatetime.SetFormat(_T("ddd ',' MMM dd ',' yyyy"));
COleDateTime MinTime(COleDateTime::GetCurrentTime() - COleDateTimeSpan(30, 0, 0, 0));
COleDateTime MaxTime(COleDateTime::GetCurrentTime() + COleDateTimeSpan(30, 0, 0, 0));
m_ctldatetime.SetRange(&MinTime, &MaxTime);

然后是提交按钮的响应函数:

void CMFCApplication12Dlg::OnBnClickedButton1()

{
// TODO:  在此添加控件通知处理程序代码
CString msg;
CTime MinTime, MaxTime;

DWORD result = m_ctldatetime.GetRange(&MinTime, &MaxTime);
msg = _T("\n可选时间的下限:  ");
if (result & GDTR_MIN){
msg += MinTime.Format(_T("%#x"));
}
else {
msg += _T("None");
}
msg += _T("\n可选的时间上限为:  ");
if(result & GDTR_MAX){
msg += MaxTime.Format(_T("%#x"));
}
else
{
msg += _T("None");
}

CTime time;
m_ctldatetime.GetTime(time);
msg += _T("\n当前的时间为:");
msg += time.Format("%#x");
AfxMessageBox(msg);

}

  设置显示的格式
    成员函数CDateTimeCtrl::SetFormat是用来设置DTP控件的显示格式,其原型如下:

    BOOL SetFormat(LPCTSTR pstrFormat);
    参数pstrFormat是用来指定显示格式,若为NULL则使用缺省的格式。该参数可包含下列格式字符:
 
"d"
1或2位日期。
 
"dd"
两位日期,日期为1位数字时,在前加0.
 
"ddd"
星期缩写成三个字符。
 
"dddd"
星期全名。
 
"h"
在12小时格式中,显示1位或2位。
 
"hh"
12小时格式的两位数显,不足时前补0。
 
"H"
24小时格式的1位或2位数显。
 
"HH"
24小时格式的两位数显,不足时前补0。
 
"m"
分钟的1位或2位数显。
 
"mm"
分钟的两位数显,不足时前补0。
 
"M"
月份的1位或2位数显。
 
"MM"
月份的两位数显,不足时前补0.
 
"MMM"
月份缩写成三个字符.
 
"MMMM"
月份全名。
 
"t"
AM/PM缩写成一个字符如AM缩写成"A"。
 
"tt"
AM/PM。
 
"y"
年号的最后1位数,显如1999年显示为9.
 
"yy"
年号的最后2位数显。
 
"yyy"
整个年号,如1999。
本次demo的内容比较简单,但是一步一个脚印,不能因为简单就忽略它,生活中很多问题也是由于简单的问题引起的。

希望能在c++道路上面越走越远
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ MFC