want to convert ColeDateTime to CTime

sshah picture sshah · Oct 14, 2011 · Viewed 6.9k times · Source

I am reading a datetime from database in a ColeDateTime format. I want to convert it to CTime to get the date month year and time.

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();

Please give me some solution how could I do this?

Thanks in advance.

Answer

djeidot picture djeidot · Oct 20, 2011

The CTime constructor accepts both SYSTEMTIME and DBTIMESTAMP structures, so both these will work:

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

,

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