SystemTime_Difference

来源:互联网 发布:windows系统资源监控 编辑:程序博客网 时间:2024/05/18 01:07
VOID SystemTime_Difference(SYSTEMTIME const& st1, SYSTEMTIME const& st2, SYSTEMTIME *lpRet) { FILETIME ft1; SystemTimeToFileTime(&st1, &ft1); ULARGE_INTEGER const u1 = { ft1.dwLowDateTime, ft1.dwHighDateTime }; FILETIME ft2; SystemTimeToFileTime(&st2, &ft2); ULARGE_INTEGER const u2 = { ft2.dwLowDateTime, ft2.dwHighDateTime }; ULARGE_INTEGER u3; u3.QuadPart = max(u1.QuadPart, u2.QuadPart) - min(u1.QuadPart, u2.QuadPart); FILETIME const ft3 = { u3.LowPart, u3.HighPart }; SYSTEMTIME st3; FileTimeToSystemTime(&ft3, &st3); // FILETIME's starting point is 1601-01-01 st3.wYear -= 1601; st3.wMonth -= 1; st3.wDay -= 1; st3.wDayOfWeek = 0; // useless for this purpose, make it always 0 so it's always ignored CopyMemory(lpRet, &st3, sizeof(SYSTEMTIME));return;}

原创粉丝点击