文件时间结构排序

时间:2015-03-22 09:16:56

标签: winapi

我有一个文件时间结构,我只想比较看哪个更老(我的目标是降序排序),所以我希望避免FileTimeToSystemTime

这是我的两个结构:

var time1 = {
dwLowDateTime: 2944808535,
dwHighDateTime: 30434197
}

然后

var time2 = {
dwLowDateTime: 3483262096,
dwHighDateTime: 30434432
}

我想知道是否有可靠的方法来测试哪一个更大。我可以比较一下dwHighDateTime吗?

由于

1 个答案:

答案 0 :(得分:2)

是的,您可以比较较高的部分,但它们可能相同。

比较高。如果它们不同,则以较大者为准。如果相同,请比较低。

或将它们转换为LARGE_INTEGER并比较它们:

LARGE_INTEGER one;
one.HighPart = time1.dwHighDateTime;
one.LowPart = time1.dwLowDateTime;

LARGE_INTEGER two;
two.HighPart = time2.dwHighDateTime;
two.LowPart = time2.dwLowDateTime;

if (one.QuadPart > two.QuadPart) {
...
}

您必须这样做的原因是FILETIME早于64位指令的可用性。