文件时间结构排序

Filetime Struct Sort

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

这是我的两个结构:

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

然后

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

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

谢谢

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

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

或将它们转换为 LARGE_INTEGERs 并进行比较:

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 位指令的可用性。