【发布时间】:2013-11-11 15:21:06
【问题描述】:
如何将 FILETIME 转换为秒?我需要比较两个 FILETIME 对象..
我找到了this, 但似乎它不起作用......
ULARGE_INTEGER ull;
ull.LowPart = lastWriteTimeLow1;
ull.HighPart = lastWriteTimeHigh1;
time_t lastModified = ull.QuadPart / 10000000ULL - 11644473600ULL;
ULARGE_INTEGER xxx;
xxx.LowPart = currentTimeLow1;
xxx.HighPart = currentTimeHigh1;
time_t current = xxx.QuadPart / 10000000ULL - 11644473600ULL;
unsigned long SecondsInterval = current - lastModified;
if (SecondsInterval > RequiredSecondsFromNow)
return true;
return false;
我比较了 2 FILETIME 和预期的 10 秒的差异,它给了我 ~7000... 这是提取秒数的好方法吗?
【问题讨论】:
-
您如何比较 FILETIME 对象?而不是比较两个不同的变量,为什么不尝试通过输出格式化的 FILETIME 变量来检查转换代码,然后将相同的 FILETIME 变量转换为 time_t 并输出(格式化的)结果。应该没有区别(除了精度损失)。
-
我没有 C++ 背景我希望我知道怎么做。我会添加完整的代码,你会决定的。。
标签: c++ windows comparison filetime