我知道FILETIME
结构从1601年1月1日起以100纳秒的步长形成了日期时间值。但是,dwLowDateTime
的值是什么意味着小于0 ???
答案 0 :(得分:7)
这意味着您将其视为int而非unsigned int,因此它可能显示为负数。
正如Matteo Italia所说,最好将它放在ULARGE_INTEGER中,如下所示:
ULARGE_INTEGER uli;
uli.LowPart = ft.dwLowDateTime;
uli.HighPart = ft.dwHighDateTime;
__int64 filetime64 = uli.QuadPart;
您甚至可以使用memcpy执行以下操作:
__int64 fileTime64;
memcpy( &fileTime64, &ft, sizeof( __int64 ) );