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

//获取文件属性创建时间、访问时间 和 修改时间
//这里的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

获取文件创建时间、最后修改时间、访问时间的相关文章

PHP获得文件创建、修改、访问时间 filectime() filemtime() fileatime()

转载博客 零度_PHP的博客   http://blog.sina.com.cn/s/blog_8edc37a801016hk1.html PHP获得文件创建.修改.访问时间 PHP filectime() 函数 定义和用法 filectime() 函数返回指定文件的上次 inode 修改时间. 该函数返回文件上次 inode 被修改的时间.如果出错则返回 false.时间以 Unix 时间戳的方式返回. 语法 fileatime(filename) filename 必需.规定要检查的文件.

C# 轻松读取、改变文件的创建、修改、访问时间 z

// 读取文件的创建.修改.访问时间FileInfo fi = new FileInfo("C://test.txt");Console.WriteLine(fi.CreationTime.ToString());Console.WriteLine(fi.LastWriteTime.ToString());Console.WriteLine(fi.LastAccessTime.ToString()); // 改变(设置)文件的创建.修改.访问时间File.SetCreationTime

用 C# 轻松读取、改变文件的创建、修改、访问时间

创建时间是文件存入到电脑中的时间,而修改时间则是改变起内容的最后时间 // 读取文件的创建.修改.访问时间FileInfo fi = new FileInfo("C://test.txt");Console.WriteLine(fi.CreationTime.ToString());Console.WriteLine(fi.LastWriteTime.ToString());Console.WriteLine(fi.LastAccessTime.ToString()); // 改变(设

使用ant剪切、重命名、修改文件访问时间

下面提供几个命令,用来剪切文件.重命名文件.创建或修改文件访问时间,如下: <?xml version="1.0" encoding="UTF-8"?> <project name ="test" default="all" basedir="."> <target name ="all"> <!-- 剪切文件(含过滤条件)--> <

C#文件创建、修改、访问时间修改

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; namespace 修改文件创建日期或修改日期 { public partial class Form1 : Form { public

linux→查看当前系统时间和修改系统当前时间

查看系统当前时间: suse-linux:/home # date 修改系统当前时间: suse-linux:/home # date -s "2016-01-11 12:12:12" 最后,做完所有的操作之后,对操作保存修改: suse-linux:/home # hwclock --systohc 总结: 上述只是自己操作过程中的一个简单的小结,最后的保存网上的大牛有写成 clock -w 或者hwclock -w 我没亲自试过,但是那么多人写应该是可以的. 如果比较懒可以一步到位

VC++ 获取文件属性创建时间、修改时间和访问时间

转载:http://blog.sina.com.cn/s/blog_66bf8d8301014ikd.html WIN32_FIND_DATA结构 关于文件的全部属性信息,总计有以下以下9 种:文件的标题名.文件的属性(只读.存档,隐藏等).文件的创建时间.文件的最后访问时间.文件的最后修改时间.文件大小的高位双字.文件大小的低位双字.保留.保留.在这里只有文件标题名和文件的长度可以通过CFile类比较方便的获得,而对于其他几种属性的获取和设置就无能为力了. 在用findfirst()和find

Web 在线文件管理器学习笔记与总结(2)显示文件列表(名称,类型,大小,可读,可写,可执行,创建时间,修改时间,访问时间)

主要函数: filetype() 判断文件类型 filesize() 得到文件大小(字节) is_readable() 判断文件是否可读 is_writeable() 判断文件是否可写 is_executable() 判断文件是否可执行 filectime() 文件创建时间 filemtime() 文件修改时间 fileatime() 文件访问时间 file.func.php 封装文件操作的文件: <?php /* 转换字节大小 */ function transByte($size){ $ar

python 修改文件的创建时间、修改时间、访问时间

目录 python 修改文件创建.修改.访问时间 方案一 方案二(无法修改文件创建时间) python 修改文件创建.修改.访问时间 突如其来想知道一下 python 如何修改文件的属性(创建.修改.访问时间),于是就去网上搜集了可行方案,也就有了这篇博客 方案一 参考博客:python修改任意文件的创建时间.修改时间.访问时间 from win32file import CreateFile, SetFileTime, GetFileTime, CloseHandle from win32fi