现在的位置: 首页 > 综合 > 正文

SystemTime_Difference

2013年04月19日 ⁄ 综合 ⁄ 共 671字 ⁄ 字号 评论关闭
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;
}

抱歉!评论已关闭.