检索最后写入时间

【勇芳软件工作室】汉化HomePreviousNext

以下示例检索文件的最后写入时间,并根据当前时区设置将其转换为本地时间,并创建可向用户显示的日期和时间字符串。

// GetLastWriteTime - 检索最后写入时间并转换
//时间到一个字符串
//返回值 - 如果成功,则为TRUE,否则为FALSE
// hFile - 必须是有效的文件句柄
// lpszString - 接收字符串的缓冲区地址

BOOL GetLastWriteTime(HANDLE hFile, LPSTR lpszString)
{
FILETIME ftCreate, ftAccess, ftWrite, ftLocal;
SYSTEMTIME stCreate;

//检索文件的文件时间。
if(!GetFileTime(hFile,& ftCreate,& ftAccess,& ftWrite))
return FALSE;

//将最后一次写入时间转换为本地时间。
if(!FileTimeToLocalFileTime(& ftWrite,& ftLocal))
return FALSE;

//将本地文件时间从UTC转换为系统时间。
FileTimeToSystemTime(&ftLocal, &stCreate);

//构建显示日期和时间的字符串。
wsprintf(lpszString,“%02d /%02d /%d%02d:%02d”,
stCreate.wDay,stCreate.wMonth,stCreate.wYear,
stCreate.wHour, stCreate.wMinute);

return TRUE;
}