C++ 里有没有 StrToTime 函数封装好的,谢谢输入:2009-02-11
输出:年月日谢谢

解决方案 »

  1.   

    MFC里面有,COleDateTime类的ParseDateTime函数。
      

  2.   

    好象有类似的,Ctring 类的FORMAT结果作为时间的参数,初始化时间
      

  3.   

    1楼正确,关于时间的转换可以:COleDateTime time1(1977,4,16,2,2,2); //COleDataTime--->CTime
    SYSTEMTIME systime;
    VariantTimeToSystemTime(time1, &systime);
    CTime tm(systime);time_t time2=tm.GetTime(); //CTime--->time_t
    COleDateTime time3(time2); //time_t--->COleDateTime
      

  4.   

    可以把字符串使用如下的函数返回一个double类型的值,然后由这个值去得到它的CTime或COleDateTime值。
    double myapp::parseDateTime(LPCTSTR lpszDate)
    {
    LPCTSTR pszDate = ( lpszDate == NULL ) ? _T("") : lpszDate; double m_dt(0);
    HRESULT hr;
    LPOLESTR p = T2OLE_EX((LPTSTR)pszDate, _ATL_SAFE_ALLOCA_DEF_THRESHOLD); if (FAILED(hr = VarDateFromStr( p, LANG_USER_DEFAULT, 0, &m_dt )))
    {
    if (hr == DISP_E_TYPEMISMATCH)
    {
    return 0;
    }
    else if (hr == DISP_E_OVERFLOW)
    {
    return -1;
    }
    else
    {
    return -1;
    }
    }
    return m_dt;
    }