码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-08-19 16:50:23      阅读:107      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!