#define _SECOND ((ULONGLONG) 10000000)
#define _MINUTE (60 * _SECOND)
#define _HOUR (60 * _MINUTE)
#define _DAY (24 * _HOUR)
void CTestClass::ChangeTime(SYSTEMTIME& sysTime)
{
GetLocalTime(&sysTime);
FILETIME ft={0};
SystemTimeToFileTime(&sysTime, &ft);
ULONGLONG qwResult;
// Copy the time into a quadword.
qwResult = (((ULONGLONG) ft.dwHighDateTime) << 32) + ft.dwLowDateTime;
// minus 2 hours.
qwResult -= 2 * _HOUR;
// Copy the result back into the FILETIME structure.
ft.dwLowDateTime = (DWORD) (qwResult & 0xFFFFFFFF );
ft.dwHighDateTime = (DWORD) (qwResult >> 32 );
FileTimeToSystemTime(&ft, &sysTime);
}
参考网址:http://support.microsoft.com/kb/188768
本文展示了一个使用C++进行时间调整的例子,具体为将当前时间减去两个小时,并提供了实现这一功能的完整代码片段。
1050

被折叠的 条评论
为什么被折叠?



