使用以下代码应该返回当前时间,但是会返回错误的时间,例如“ 131956027702298694”。
相关代码为:
long filetime;
GetSystemTimePreciseAsFileTime(out filetime);
并导入方法:
[DllImport("Kernel32.dll", CallingConvention = CallingConvention.Winapi)]
private static extern void GetSystemTimePreciseAsFileTime(out long filetime);
关于可能出什么问题的任何线索吗?
编辑: 正如Jarrod和Hans指出的那样,我错过了注明参考时间的部分。由于某种原因,我希望它是通常的纪元时间参考。因此,它的确返回了正确的时间,而不是我天真地期望的时间。
答案 0 :(得分:0)
long filetime;
GetSystemTimePreciseAsFileTime(out filetime);
var whatYoureLookingFor = DateTime.FromFileTimeUtc(filetime);
要点是该函数返回一个long
。 long
是整数。它永远不会看起来像DateTime
。