本文主要是介绍MFC计算两个日期的时差,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
LONGLONG C计算时间差Dlg::GetTimeDifference(int nYear1,int nMonth1,int nDay1,int nYear2,int nMonth2,int nDay2,BOOL Positive)
{COleDateTime cot1,cot2;int r1 = cot1.SetDate(nYear1,nMonth1,nDay1);if(r1!=0){return r1;}int r2 = cot2.SetDate(nYear2,nMonth2,nDay2);if(r2!=0){return r2;}COleDateTimeSpan span = cot1 - cot2 ; LONGLONG iDay = span.GetDays() ;if(Positive && iDay<0)iDay = -iDay;return iDay;
}BOOL C计算时间差Dlg::OnInitDialog()
{CDialog::OnInitDialog();CString str;GetTimeDifference(L"19910524",L"20120524",str);AfxMessageBox(str);return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
BOOL C计算时间差Dlg::GetTimeDifference(CString sDate1,CString sDate2,CString &span)
{int len1 = sDate1.GetLength();int len2 = sDate2.GetLength();if(len1!= 8 || len2!=8){return FALSE;}int nYear1 = _ttoi(sDate1.Mid(0,4));int nMonth1 = _ttoi(sDate1.Mid(4,2));int nDay1 = _ttoi(sDate1.Mid(6,2));int nYear2 = _ttoi(sDate2.Mid(0,4));int nMonth2 = _ttoi(sDate2.Mid(4,2));int nDay2 = _ttoi(sDate2.Mid(6,2));//这里不对日期验证LONGLONG iDay = GetTimeDifference(nYear1,nMonth1,nDay1,nYear2,nMonth2,nDay2);span.Format(_T("%d"),iDay);return TRUE;
}
这篇关于MFC计算两个日期的时差的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!