获取文件创建时间、最后修改时间、访问时间

来源:互联网 发布:qq克隆软件 编辑:程序博客网 时间:2024/05/22 06:34
//获取文件属性创建时间、访问时间 和 修改时间//这里的CreateFile只导致文件只能被只读打开,不能有其他权限,最好用FindFile获取创建,修改和访问时间void get_file_create_modify_access_time(){std_string str_create_time, str_access_time, str_modify_time;FILETIME ftCreate, ftAccess, ftModify;std::string strFilePath;strFilePath.assign("C://1.txt");HANDLE hFile = CreateFileA(strFilePath.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL,OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);if (GetFileTime(hFile, &ftCreate, &ftAccess , &ftModify)){SYSTEMTIME stLocal;ZeroMemory(&stLocal, sizeof(SYSTEMTIME));FileTimeToSystemTime(&ftCreate, &stLocal);//备注:FileTimeToSystemTime获取的系统时间小时数比实际小8个小时,所以加上即可str_create_time.AppendFormat("%04d-%02d-%02d %02d:%02d:%02d", stLocal.wYear, stLocal.wMonth, stLocal.wDay,  stLocal.wHour + 8, stLocal.wMinute, stLocal.wSecond);   // 文件创建时间ZeroMemory(&stLocal, sizeof(SYSTEMTIME));FileTimeToSystemTime(&ftModify, &stLocal);str_modify_time.AppendFormat("%04d-%02d-%02d %02d:%02d:%02d", stLocal.wYear, stLocal.wMonth, stLocal.wDay,  stLocal.wHour + 8, stLocal.wMinute, stLocal.wSecond); //  文件修改时间ZeroMemory(&stLocal, sizeof(SYSTEMTIME));FileTimeToSystemTime(&ftAccess, &stLocal);str_access_time.AppendFormat("%04d-%02d-%02d %02d:%02d:%02d", stLocal.wYear, stLocal.wMonth, stLocal.wDay,  stLocal.wHour + 8, stLocal.wMinute, stLocal.wSecond); // 文件访问时间return;}}

0 0
原创粉丝点击