C++小弟我从access数据库里面得到Date类型的数据如何转换成String类型

C++我从access数据库里面得到Date类型的数据怎么转换成String类型
我是这样写的:
var = m_pRecordset->GetCollect("Date");

Cstring time;
CTime ctime;

ctime = var.date;
time.Format(_T("%d-%d-%d"), ctime.GetYear(), ctime.GetMonth(), ctime.GetDay());

我这样写的得到的数据永远是 1970-1-1 我调试的时候ctime确实已经被赋值了
var是我从数据库里查询出来的数据, 我确定var的数据是能得到的,但是我就是不知道怎么转换类型;
c++ access

------解决方案--------------------
参考一下这个
http://www.vckbase.com/index.php/wv/944.html
------解决方案--------------------
time_t time对应1970-1-1 0:0:0到现在的秒数

access的Date类型恐怕和VB6的Date类型一样,
实际上是一个double类型的浮点数,单位是天。
1900-1-1 00:00对应2.0
1900-1-1 12:00对应2.5

而CTime的构造函数
CTime::CTime
CTime( );
CTime( const CTime& timeSrc );
CTime( time_t time );
CTime( int nYear, int nMonth, int nDay, int nHour, int nMin, int nSec, int nDST = -1 );
CTime( WORD wDosDate, WORD wDosTime, int nDST = -1 );
CTime( const SYSTEMTIME& sysTime, int nDST = -1 );
CTime( const FILETIME& fileTime, int nDST = -1 );
其中没有可用VB6的Date类型对应的构造函数。
所以楼主需要自己从Date类型换算出对应的time_t time值构造,比如:
c_time time=(time_t)((double)Date-70.0*365.0-18.0+8.0/24.0))*86400.0);//70年中假定有18年闰年,假定时区东八区需要加或减8小时,不对的话请楼主自行微调。
CTime ctime(time);


------解决方案--------------------
(CString)m_pRecordset->GetCollect("Date")
------解决方案--------------------
学习了  没想到是这样  呵呵