我通过CFtpConnection类来操作ftp,目前通过finder.GetLastWriteTime都可以列出文件的结束时间,但只有小时,分钟,秒都为0,我通过抓包工具看,秒其实都已经正确发过来了的,请问我该怎么做才可以正确获取到秒呢??求教,非常感谢啊。

解决方案 »

  1.   

    virtual BOOL GetLastWriteTime( FILETIME* pFileTime ) const;
    获取到的文件时间用 FileTimeToSystemTime 或 COleDateTime 转换一下就可以吧virtual BOOL GetLastWriteTime( CTime& refTime ) const;
    使用CTime也可以,但是CTime的范围比COleDateTime的窄
      

  2.   

    你把GetLastWriteTime得到的时间贴出来看看,怎么会只有小时?
      

  3.   

    bool bContinue=(bool)finder.FindFile("*",INTERNET_FLAG_RAW_DATA);
    while(bContinue) 
    {
    bContinue=finder.FindNextFile(); 
            CTime ftime;
    finder.GetLastWriteTime(ftime);
    TRACE("04d-%02d-%02d %02d:%02d:%02d\n",,ftime.GetYear(),ftime.GetMonth(),ftime.GetDay(),ftime.GetHour(),ftime.GetMinute(),ftime.GetSecond());



    finder.Close(); 结果秒钟是没有的。
      

  4.   

    CString sTime = ftime.Format("%Y-%m-%d %H:%M:%S"); 
    TRACE(sTime); 这样子看看。
      

  5.   

    这是打印出来的文件结束时间:2013-04-01 16:48:00
    但实际上的文件结束时间应该是:  2013-04-01 16:48:50我用抓包工具抓了下ftp包,看到是有精确到秒的,16:48:50,但只解析到了16和48,50没解析出来,怎么办呢?
      

  6.   

    是不是通过标准CFtpFileFind类就没有办法获取到文件的结束时间(秒)呢?即使服务器端已经支持ftp时间精确到秒。谁能给个答案不???我急啊。
      

  7.   

    是不是通过标准CFtpFileFind类就没有办法获取到文件的结束时间(秒)呢?即使服务器端已经支持ftp时间精确到秒。谁能给个答案不???我急啊。