//获取文件属性创建时间、访问时间 和 修改时间 //这里的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; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-09 13:10:23