首页 > 代码库 > 得到文件的创建时间修改时间等

得到文件的创建时间修改时间等

#include <windows.h>#include <tchar.h>#include <strsafe.h>// GetLastWriteTime - Retrieves the last-write time and converts//                    the time to a string//// Return value - TRUE if successful, FALSE otherwise// hFile      - Valid file handle// lpszString - Pointer to buffer to receive stringBOOL GetLastWriteTime(HANDLE hFile, LPTSTR lpszString, DWORD dwSize){    FILETIME ftCreate, ftAccess, ftWrite;    SYSTEMTIME stUTC, stLocal;    DWORD dwRet;    // Retrieve the file times for the file.if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite))        return FALSE;    // Convert the last-write time to local time.    FileTimeToSystemTime(&ftWrite, &stUTC);    SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);    // Build a string showing the date and time.    dwRet = StringCchPrintf(lpszString, dwSize,         TEXT("%02d/%02d/%d  %02d:%02d"),        stLocal.wMonth, stLocal.wDay, stLocal.wYear,        stLocal.wHour, stLocal.wMinute);    if( S_OK == dwRet )        return TRUE;    elsereturn FALSE;}int _tmain(int argc, TCHAR *argv[]){    HANDLE hFile;    TCHAR szBuf[MAX_PATH];    if( argc != 2 )    {        printf("This sample takes a file name as a parameter\n");        return 0;    }    hFile = CreateFile(argv[1], GENERIC_READ, FILE_SHARE_READ, NULL,        OPEN_EXISTING, 0, NULL);    if(hFile == INVALID_HANDLE_VALUE)    {        printf("CreateFile failed with %d\n", GetLastError());        return 0;    }    if(GetLastWriteTime( hFile, szBuf, MAX_PATH ))        _tprintf(TEXT("Last write time is: %s\n"), szBuf);            CloseHandle(hFile);    }  另外例子  觉得这个好  FILETIME ftCreate, ftModify, ftAccess; CString strCreateTime, strModifyTime, strAccessTime; CString strFilePath = _T("");  GetDlgItem(IDC_EDT_FILEPATH)->GetWindowText(strFilePath);  // 文件路径 HANDLE hFile = CreateFile(strFilePath, GENERIC_READ,          // open for reading  FILE_SHARE_READ,       // share for reading  NULL,                            // default security  OPEN_EXISTING,          // existing file only  FILE_FLAG_BACKUP_SEMANTICS , // normal file  NULL); SYSTEMTIME stLocal; if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftModify)) {  return ; }  ZeroMemory(&stLocal, sizeof(SYSTEMTIME)); FileTimeToSystemTime(&ftCreate, &stLocal); strCreateTime.Format("%04d-%02d-%02d %02d:%02d:%02d", stLocal.wYear, stLocal.wMonth, stLocal.wDay,  stLocal.wHour, stLocal.wMinute, stLocal.wSecond);   // 文件创建时间 ZeroMemory(&stLocal, sizeof(SYSTEMTIME)); FileTimeToSystemTime(&ftModify, &stLocal); strModifyTime.Format("%04d-%02d-%02d %02d:%02d:%02d", stLocal.wYear, stLocal.wMonth, stLocal.wDay,  stLocal.wHour, stLocal.wMinute, stLocal.wSecond); //  文件修改时间 ZeroMemory(&stLocal, sizeof(SYSTEMTIME)); FileTimeToSystemTime(&ftAccess, &stLocal); strAccessTime.Format("%04d-%02d-%02d %02d:%02d:%02d", stLocal.wYear, stLocal.wMonth, stLocal.wDay,  stLocal.wHour, stLocal.wMinute, stLocal.wSecond); // 文件访问时间 SetDlgItemText(IDC_STC_CREATETIME, strCreateTime); SetDlgItemText(IDC_STC_MODIFYTIME, strModifyTime); SetDlgItemText(IDC_STC_ACCESSTIME, strAccessTime);

 

 

得到文件的创建时间修改时间等