在 Microsoft 规范中,DATETIME
表示为 2 个 32 位整数:low
和high
FILETIME 结构是一个 64 位的值,表示自 1601 年 1 月 1 日(协调世界时 (UTC))以来经过的 100 纳秒间隔的数量。typedef struct _FILETIME { DWORD dwLowDateTime; DWORD dwHighDateTime; 文件时间,*PFILETIME,*LPFILETIME;dwLowDateTime:一个 32 位无符号整数,包含文件时间的低位。dwHighDateTime:一个 32 位无符号整数,包含文件时间的高位。
例如,这里是长130280867040000000
所以计算的高低
int high = (int)(fullval >> 32);
int low = (int)fullval;
这么高=30333378
和低=552794112
如何将这些计算为 Java 8 Instant?