在读取日记文件的日记时间后怎么转化!
      读取TimeGenerated得到的是一个数 如1146227984  怎么样才能按正确的日期显示出来
   哪位大侠帮帮忙!
   

解决方案 »

  1.   

    FileTimeToSystemTime()
    SYSTEMTIME.Year, Month, Day, Hour, Minute, Second
      

  2.   

    up
    FILETIME ftCreate, ftAccess, ftWrite;
        SYSTEMTIME stUTC;
        DWORD dwRet;    if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite))
            return FALSE;
        FileTimeToSystemTime(&ftWrite, &stUTC);
      

  3.   

    如果想转换文件的时间,可以使用 FileTimeToLocalFileTime 和 FileTimeToSystemTime 。
    如果想转换日期字符串,可以使用 COleDateTime::ParseDateTime。
      

  4.   

      我用的是typedef struct _EVENTLOGRECORD {
        DWORD  Length;        // Length of full record
        DWORD  Reserved;      // Used by the service
        DWORD  RecordNumber;  // Absolute record number
        DWORD  TimeGenerated; // Seconds since 1-1-1970
        DWORD  TimeWritten;   // Seconds since 1-1-1970
        DWORD  EventID;
        WORD   EventType;
        WORD   NumStrings;
        WORD   EventCategory;
        WORD   ReservedFlags; // For use with paired events (auditing)
        DWORD  ClosingRecordNumber; // For use with paired events (auditing)
        DWORD  StringOffset;  // Offset from beginning of record
        DWORD  UserSidLength;
        DWORD  UserSidOffset;
        DWORD  DataLength;
        DWORD  DataOffset;    // Offset from beginning of record
        //
        // Then follow:
        //
         //WCHAR SourceName[]
         //WCHAR Computername[]
        // SID   UserSid
        // WCHAR Strings[]
        // BYTE  Data[]
        // CHAR  Pad[]
        // DWORD Length;
        //
    } EVENTLOGRECORD
    接收到日记文件!
    时间在这个结构中属于DWORD  TimeGenerated; // Seconds since 1-1-1970
        DWORD  TimeWritten;   // Seconds since 1-1-1970
      与 FileTimeToSystemTime 中time的参数类型不一样!也不能转化!
      

  5.   

    然后 CTime ct = (CTime)tm; 转换成CTime等,再获取GetYear,GetDay..