GetSystemTimePreciseAsFileTime()的时间参考是什么?

时间:2019-02-26 16:25:30

标签: c# windows

使用以下代码应该返回当前时间,但是会返回错误的时间,例如“ 131956027702298694”。

相关代码为:

long filetime;
GetSystemTimePreciseAsFileTime(out filetime);

并导入方法:

[DllImport("Kernel32.dll", CallingConvention = CallingConvention.Winapi)]
private static extern void GetSystemTimePreciseAsFileTime(out long filetime);

关于可能出什么问题的任何线索吗?

编辑: 正如Jarrod和Hans指出的那样,我错过了注明参考时间的部分。由于某种原因,我希望它是通常的纪元时间参考。因此,它的确返回了正确的时间,而不是我天真地期望的时间。

1 个答案:

答案 0 :(得分:0)

long filetime;
GetSystemTimePreciseAsFileTime(out filetime);
var whatYoureLookingFor = DateTime.FromFileTimeUtc(filetime);

要点是该函数返回一个longlong是整数。它永远不会看起来像DateTime