获得一个时间字符串格式为Jan 15, 2007 10:03:12.235867586。
我怎么才能把它转化成一个CTime的格式?????
按照如下这种方法转换抛出错误!
CString   strCString="2004-08-12   14:45:22";     
  COleVariant   vtime(strCString);   
  vtime.ChangeType(VT_DATE);   
  COleDateTime   time4=vtime;   
  SYSTEMTIME   systime;   
  VariantTimeToSystemTime(time4,   &systime);   
  CTime   tm(systime);     //CString=======>CTime高手帮帮忙吧!!哈哈!!

解决方案 »

  1.   

    用下面的 CTime 构造函数接近你的需求
    CTime time4( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999
    从日期时间字符串中分解出年,月,日,时,分秒,再调这个构造函数.
      

  2.   

    COleDateTime ot( CComVariant( "UTC 2007-1-18 20:18:17" ) );
    CTime ct( ot.GetYear(), ot.GetMonth(), ot.GetDay(), ot.GetHour(), ot.GetMinute(), ot.GetSecond() );
      

  3.   

    把上面的utc去掉,我忘记了:(
      

  4.   


    COleDateTime::ParseDateTime这个函数可以把字符串形式的时间赋值给 COleDateTime
      

  5.   

    CString strCString="Jan 17, 2007 10:21:13.737807000";//时间字符串的格式是这样的后面的.737807000我想放到systime.wMilliseconds里,不知道是不是这个意思,但是wMilliseconds只能输入6位的整数,我能不能把737807000放到Milliseconds里,是不是应该放到Milliseconds里啊????迷惑ing!!!!>_<
    CString month = strCString.Left(4);
    CString monthAll = "";
    if(month == "Jan "){
    monthAll += "January";
    monthAll += strCString.Right(strCString.GetLength()-3);
    monthAll = monthAll.Left(monthAll.GetLength()-10);
    } COleVariant   vtime(monthAll);
    vtime.ChangeType(VT_DATE);
    COleDateTime   time4=vtime;
    SYSTEMTIME   systime;
    VariantTimeToSystemTime(time4,   &systime);
    /*int i = atoi(strCString.Right(9));
    i=12345;
    systime.wMilliseconds = i;*/
    CTime   tm(systime);     //CString=======>CTime
    CTime   t   =   CTime::GetCurrentTime();
    上面是我的代码。