如题,startday是时间字段,如何付值给日期变量s?
_variant_t var;
try
{
if(!m_pRecordset1->BOF)
{
var = m_pRecordset->GetCollect("startday");
CTime s;
????
}

解决方案 »

  1.   

    INT VariantTimeToSystemTime( 
      double  vtime,              
      LPSYSTEMTIME  lpSystemTime  
    );CTime( const SYSTEMTIME& sysTime, int nDST = -1 );
      

  2.   

    ->balloy()
       没看明白什么意思,和我问的有什么关系吗?
      

  3.   

    老兄,你不能在MSDN里面查查VariantTimeToSystemTime和CTime吗?
      

  4.   

    COleDateTime tm(var);
    再把 COleDateTime 转成 CTime
      

  5.   

    _bstr_t theRequestDate=pSet->GetCollect("RequestDate");
    COleVariant vtime((char *)theRequestDate);
    vtime.ChangeType(VT_DATE);
    COleDateTime requestDate = vtime;requestDate 就是日期变量
      

  6.   

    COleDateTime 转成 CTime,怎么转换?
      

  7.   

    我用下面方法,但不行,y,m,d都是-1

    var = m_pRecordset->GetCollect("plan_start");
    COleDateTime tm(var);
    int y=tm.GetYear();
    int m=tm.GetMonth();
    int d=tm.GetDay();
    CTime tm1(y,m,d,0,0,0);
      

  8.   

    转:
    写数据库:
    COleDateTime oleDate = COleDateTime::GetCurrentTime();
    _variant_t vtFld;
    vtFld.vt = VT_DATE;
    vtFld.date = oleDate;
    用这种方法不行:pRecordSet4->PutCollect("date", vtFld); 
    改为:m_pset->Fields->GetItem("出生年月")->Value=vtFld;读数据库:
    _bstr_t TheValue=m_pset->Fields->GetItem("出生年月")->Value;
    temp=(char *)TheValue;
    //COleVariant vtime(temp);
    //vtime.ChangeType(VT_DATE);
    //COleDateTime time4=vtime;//读出的是COleDateTime,可再转成CString
    CString strTemp;
    strTemp.Format("%s", temp);
    int year,month,day,hour,minite,second;
    sscanf(strTemp,"%d-%d-%d %d:%d:%d",&year,&month,&day,&hour,&minite,&second);
    CTime time(year,month,day,hour,minite,second);