您的位置:首页 > 其它

CString 时间字符串、COleDateTime 和 CTime 类之间的转换以及如何计算时间差

2013-05-28 15:51 441 查看
先说如何计算时间差吧,见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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐