想要将ColeDateTime转换为CTime

时间:2011-10-14 05:07:26

标签: mfc ctime coledatetime

我正在以ColeDateTime格式从数据库中读取日期时间。我想将其转换为CTime以获取日期月份年份和时间。

CString repDt; //**this will hold the datetime which i read from Database**

COleDateTime dt; 
//**my datetime format is mm/dd/yyyy.**

dt.ParseDateTime(repDt);   **//this line of code gives exception**

CTime t(dt.GetYear(), dt.GetMonth(), dt.GetDay(), dt.GetHour(),
        dt.GetMinute(), dt.GetSecond());
m_time=t.GetTime();

请给我一些解决方案我该怎么做?

提前致谢。

2 个答案:

答案 0 :(得分:4)

CTime构造函数同时接受SYSTEMTIMEDBTIMESTAMP结构,因此这两种结构都可以使用:

SYSTEMTIME st;
if (dt.GetAsSystemTime(st))
    t = CTime(st);

DBTIMESTAMP dbts;
if (dt.GetAsDBTIMESTAMP(dbts))
    t = CTime(dbts);

答案 1 :(得分:1)

请试试这个

COleDateTime dt=COleDateTime(2013, 12, 12,12,12,56);
CTime ctime;
SYSTEMTIME systime;
dt.GetAsSystemTime(systime);
ctime = CTime(systime);