VC中用ADO从数据库取字段为begintime(datetime类型),想和现在时间做对比,判断是否等于现在时间:
_variant_t vBeginTime = m_pRecordset->GetCollect("begintime");
后面不会了,请高手帮忙一下。

解决方案 »

  1.   

    _variant_t vBeginTime = m_pRecordset->GetCollect("begintime");
    temp=(char *)vBeginTime ;
    COleVariant vtime(temp);
    vtime.ChangeType(VT_DATE);
    COleDateTime time=vtime;//取出时间转换成COleDateTimeCOleDateTime curDate = COleDateTime::GetCurrentTime();if(time == curDate)
    。。
      

  2.   

    COleDateTime dt = vBeginTime.date;
    COleDateTime nowdt = COleDateTime::GetCurrentTime();
    直接可以比较dt和nowdt的大小
      

  3.   

    直接用SQL
     select * from xxx where begintime = GETDATE()
    如果按日期
    select * from xxx where datepart(year, begintime) = datepart(year, GETDATE()) and 
    datepart(dayofyear, begintime) = datepart(dayofyear, GETDATE())
      

  4.   

    COleVariant VariantTime(vBeginTime);
    VariantTime.ChangeType(VT_DATE);COleDateTime DataTime = VariantTime;COleDateTime curDataTime = COleDateTime::GetCurrentTime();if(DataTime == curDataTime)
    {
    ...
    }