用API通过编程来现实WINDOWS系统时间,及日期

来源:百度知道 编辑:UC知道 时间:2024/05/26 13:17:30

取得和设置文件的创建时间、最后访问时间、最后写时间
BOOL GetFileTime(
HANDLE hFile, // 文件句柄
LPFILETIME lpCreationTime, // 创建时间
LPFILETIME lpLastACCESSTime, // 最后访问时间
LPFILETIME lpLastWriteTime // 最后写时间
);
BOOL SetFileTime(
HANDLE hFile,
CONST FILETIME *lpCreationTime,
CONST FILETIME *lpLastACCESSTime,
CONST FILETIME *lpLastWriteTime
);
typedef struct _FILETIME {
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME;

取得三个参数都是FILETIME结构,得到的都是UTC时间,可以通过API函数FileTimeToLocalFileTime()和 FileTimeToSystemTime()将他们转换为本地时间和系统时间格式,也可以通过LocalFileTimeToFileTime 和SystemTimeToFileTime()转换回来,通过SetFileTime设置文件的创建时间、最后访问时间、最后写时间。由于使用的时候要先打开文件,而且取得的最后访问时间就是当前时间,没有多大意义,且比较麻烦,下面介绍CFile类中的静态方法。
static BOOL PASCAL GetStatus( LPCTSTR lpszFileName, CFileStatus& rStatus );
static void SetStatus( LPCTSTR lpszFileName, const CFileStatus& status );
throw( CFileException );

返回的是一个CfileStatus对象,这个结构的具体的成员变量包括: