//获取文件属性创建时间、访问时间 和 修改时间
//这里的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;
}
}版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/qingzai_/article/details/47781707