VC++中的Date Time Picker控件可以设置日期时间,我们经常要获取两个日期之间的时间差,比如水母最近在写的《水石居存款助手》中,计算活期储蓄利息的时候就需要获取日期差。
Date Time Picker可以绑定CDateTimeCtrl类型的控件变量(假设为:m_ctlStartTime),也可以直接绑定CTime类型的时间变量(假设为:m_tmStartTime),m_ctlStartTime控件变量通过通过m_ctlStartTime.GetTime(m_tmStartTime);即可获取CTime类型的值,并赋给m_tmStartTime。
假设我们现在有两个Date Time Picker控件分别表示存款时候的存入时间和支取时间,分别绑定CDateTimeCtrl类型的控件变量为m_ctlStartTime和m_ctlEndTime,下面来计算时间差:
CTime tmBegin,tmEnd;
m_ctlStartTime.GetTime(tmBegin);
m_ctlEndTime.GetTime(tmEnd);
if(tmBegin>tmEnd)
{
MessageBox(_T(“支取日期必须在存入日期之后!”),_T(“水石居提示”));
return;
}
CTimeSpan ts = tmEnd – tmBegin;
int nDayDiff = ts.GetDays();//这样就获取到日期差了