FileTimeToSystemTime() 原型如下:BOOL WINAPI FileTimeToSystemTime(
__in const FILETIME *lpFileTime,
__out LPSYSTEMTIME lpSystemTime
); 该函数将文件时间转换成系统时间。文件时间是一个 FILETIME 结构,系统时间是 SYSTEMTIME 结构。所谓系统时间就是系统上通常所看到的用年,月,日,时,分,秒所表示的时间。
第 1 个参数 lpFileTime 是文件时间,可用 GetFileTime() 函数,也可以用 GetFileAttributesEx() 函数获得。
第 2 个参数 lpSystemTime 表示系统时间。
测试代码:
[C++] 纯文本查看 复制代码 #include "stdafx.h"
DWORD ChangeTime (PFILETIME lptime)
{
FILETIME ftLocal; //文件时间结构
SYSTEMTIME st; //系统时间结构
FileTimeToLocalFileTime(lptime, &ftLocal); //调整为系统所在时区时间
FileTimeToSystemTime(&ftLocal, &st); //文件时间转为系统时间
_tprintf (TEXT("%4d年%2d月%2d日 %2d:%2d:%2d\n"), st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "chs");
WIN32_FILE_ATTRIBUTE_DATA wfad;
if (!GetFileAttributesEx(argv[1], GetFileExInfoStandard, &wfad)) {
_tprintf (TEXT("获取文件属性错误:%d\n"), GetLastError());
return (-1);
}
//_tprintf ("创建时间
ChangeTime (&wfad.ftCreationTime);
return 0;
}
运行输出:D:\WinAPI\GetFileAttEx\Debug>GetFileAttEx.exe d:\special.php
2011年10月25日 14: 9:19 |