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

   日期时间控件为用户输入或选择特定日期提供了直观简洁的方法,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++道路上面越走越远


展开阅读全文

没有更多推荐了,返回首页