首页 > 其他 > 详细

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

时间:2015-08-19 16:49:04      阅读:194      评论:0      收藏:0      [点我收藏+]
//获取文件属性创建时间、访问时间 和 修改时间
//这里的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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!