WINDOWSAPI——GETFILETIME——获取文件时间FILETIME结构包含了文件或目录的日期和时间信息:(自1601年1月1日以来,单位为100纳秒)复制代码1typedefstruct_FILETIME{23DWORDdwLowDateTime;//低32位45DWORDdwHighDateTime;//高32位67}FILETIME,*PFILETIME;复制代码SYSTEMTIME结构包含了用户可识别的系统日期信息:复制代码1typedefstruct_SYSTEMTIME{23WORDwYear;//年45WORDwMonth;//月67WORDwDayOfWeek;//一周的第几天89WORDwDay;//日1011WORDwHour;//小时1213WORDwMinute;//分1415WORDwSecond;//秒1617WORDwMilliseconds;//毫秒1819}SYSTEMTIME,*PSYSTEMTIME;复制代码=======================================================函数FileTimeToSystemTime用来将文件时间格式转换为标准系统时间格式:复制代码1BOOLWINAPIFileTimeToSystemTime(23__inconstFILETIME*lpFileTime,//文件时间45__outLPSYSTEMTIMElpSystemTime//系统时间67);复制代码函数FileTimeToLocalTime用来将文件时间格式转换为本地文件时间:1BOOLWINAPIFileTimeToLocalFileTime(2__inconstFILETIME*lpFileTime,//文件时间3__outLPFILETIMElpLocalFileTime//本地文件时间4);函数SystemTimeToFileTime则是将标准系统时间转换成文件时间格式:BOOLWINAPISystemTimeToFileTime(__inconstSYSTEMTIME*lpSystemTime,//系统时间__outLPFILETIMElpFileTime//文件时间);函数SystemTimeToTzSpecificLocalTime是将标准系统时间转换为本地系统时间1BOOLWINAPISystemTimeToTzSpecificLocalTime(2__inLPTIME_ZONE_INFORMATIONlpTimeZone,//时区结构3__inLPSYSTEMTIMElpUniversalTime,//系统时间4__outLPSYSTEMTIMElpLocalTime//本地时间5);=======================================================GetSystemTime函数用来获得系统时间:1voidWINAPIGetSystemTime(2__outLPSYSTEMTIMElpSystemTime3);GetFileTime函数用来获得一个文件或目录的创建的时间、最后访问的时间以及最后修改的时间:复制代码1BOOLWINAPIGetFileTime(2__inHANDLEhFile,//文件或目录句柄3__out_optLPFILETIMElpCreationTime,//返回的创建的日期和时间信息4__out_optLPFILETIMElpLastAccessTime,//返回的最后访问的日期和时间信息5__out_optLPFILETIMElpLastWriteTime//返回的最后修改的日期和时间信息67);复制代码实例:复制代码1CStringstrPath(D:\\test.txt);2HANDLEhFile=CreateFile(strPath,3GENERIC_WRITE|GENERIC_READ,//必须有GENERIC_READ属性才能得到时间4FILE_SHARE_READ,5NULL,6TRUNCATE_EXISTING,7FILE_ATTRIBUTE_NORMAL,8NULL);910if(hFile!=INVALID_HANDLE_VALUE)11{12SYSTEMTIMEsysTime;13GetSystemTime(&sysTime);//这里得到的时间是标准系统时间,也就是0时区的时间。14GetLocalTime(&sysTime);//这里得到的是本地时间,也就是标准时间+时区时间1516FILETIMEfCreateTime,fAccessTime,fWriteTime;1718GetFileTime(&hFile,&fCreateTime,&fAccessTime,&fWriteTime);//获取文件时间1920CStringstrTime;2122//将文件时间转换为本地系统时间的两种方式:23//(1)24FileTimeToLocalFileTime(&fCreateTime,&localTime);//将文件时间转换为本地文件时间25FileTimeToSystemTime(&localTime,&sysTime);//将文件时间转换为本地系统时间2627//(2)28FileTimeToSystemTime(&fCreateTime,&sysTime);//将文件时间转换为标准系统时间29SystemTimeToTzSpecificLocalTime(&sysTime,&sysTime)//将标准系统时间转换为本地系统时间3031strTime.Format(_T(%4d年%2d月%2d日,%2d:%2d:%2d),32sysTime.wYear,33sysTime.wMonth,34sysTime.wDay,35sysTime.wHour,36sysTime.wMinute,37sysTime.wSecond38);39}