先说如何计算时间差吧,见MSDN的例子
// MSDN
CTime t1(1999, 3, 19, 22, 15, 0); // 10:15 PM March 19, 1999
CTime t2(1999, 3, 20, 22, 15, 0); // 10:15 PM March 20, 1999
CTimeSpan ts = t2 - t1; // Subtract 2 CTimes
ATLASSERT(ts.GetTotalSeconds() == 86400L);
ATLASSERT((t1 + ts) == t2); // Add a CTimeSpan to a CTime.
ATLASSERT((t2 - ts) == t1); // Subtract a CTimeSpan from a CTime.
再说说 CString 时间字符串、COleDateTime 和 CTime 类之间的转换
// 1.CString类型的时间串,转换到COleDateTime
//
// CString str ="2003-10-27 6:24:37"; //CString--->COleDateTime
// CString str ="2003-10-27 08:09:10"; //CString--->COleDateTime
// CString str ="2003-10-27"; //CString--->COleDateTime
// CString str ="2003/10/27"; //CString--->COleDateTime
CString str ="03/10/27"; //CString--->COleDateTime
COleVariant vtime(str);
vtime.ChangeType(VT_DATE);
COleDateTime time4 = vtime;
//
// 2.从COleDateTime类型转换到 CTime
//
SYSTEMTIME systime;
VariantTimeToSystemTime(time4, &systime);
CTime ctm(systime);
//
// 3.CTime可以直接加上一个绝对秒数
//
ctm + =3601;//一小时零一秒
//
// 4.打印出来
//
CString ss;
ss = ctm.Format("%Y-%m-%d %H:%M:%S");
AfxMessageBox(ss);