且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

CString、CTime和COleDateTime转换

更新时间:2022-08-22 11:56:11

COleDateTime、CTime--->CString
这个方法很简单,用Format格式化一个字符串就可以了,详见MSDN


CString--->COleDateTime:

方法1:COleDateTime::ParseDateTime()

CString、CTime和COleDateTime转换CString strDate = _T("1987-06-21");
CString、CTime和COleDateTime转换COleDateTime oleDate;
CString、CTime和COleDateTime转换oleDate.ParseDateTime(strDate, VAR_DATEVALUEONLY);

方法2:COleVariant

CString、CTime和COleDateTime转换CString strDate = _T("1987-06-21");
CString、CTime和COleDateTime转换COleVariant varTime(strDate);
CString、CTime和COleDateTime转换varTime.ChangeType(VT_DATE);
CString、CTime和COleDateTime转换COleDateTime oleDate(varTime);
CString、CTime和COleDateTime转换//COleDateTime oleDate;
CString、CTime和COleDateTime转换
//oleDate=varTime;

 

COleDateTime--->CTime:

方法1:用COleDateTime::GetAsSystemTime(SYSTEMTIME& sysTime)

CString、CTime和COleDateTime转换COleDateTime oleDate(1987, 6, 21, 0, 0, 0);
CString、CTime和COleDateTime转换SYSTEMTIME sysTime;
CString、CTime和COleDateTime转换oleDate.GetAsSystemTime(sysTime);
CString、CTime和COleDateTime转换CTime tm(sysTime);

方法2:用VariantTimeToSystemTime函数
COleDateTime--->SYSTEMTIME--->CTime

CString、CTime和COleDateTime转换COleDateTime oleDate(1987, 6, 21, 0, 0, 0);
CString、CTime和COleDateTime转换SYSTEMTIME sysTime;
CString、CTime和COleDateTime转换VariantTimeToSystemTime(oleDate, &sysTime);
CString、CTime和COleDateTime转换CTime tm(sysTime);


CTime--->COleDateTime:

方法1:用CTime::GetTime()得到time_t

CString、CTime和COleDateTime转换CTime time(1987, 6, 21, 0, 0, 0);
CString、CTime和COleDateTime转换time_t tm = time.GetTime();
CString、CTime和COleDateTime转换COleDateTime oleTime(tm);

方法2:用COleDateTime::GetAsSystemTime(SYSTEMTIME& sysTime)

CString、CTime和COleDateTime转换CTime time(1987, 6, 21, 0, 0, 0);
CString、CTime和COleDateTime转换SYSTEMTIME   sysTime;
CString、CTime和COleDateTime转换time.GetAsSystemTime(sysTime);
CString、CTime和COleDateTime转换COleDateTime oleTime(sysTime);
CString、CTime和COleDateTime转换//COleDateTime oleTime;
CString、CTime和COleDateTime转换
//oleTime=sysTime;