文件时间结构排序
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 位指令的可用性。
我有一个文件时间结构,我只是想比较一下哪个更旧(我的目标是降序排序),所以我希望避免 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 位指令的可用性。