首页 > 解决方案 > GetSystemTimePreciseAsFileTime() 的时间参考是多少?

问题描述

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

相关代码为:

long filetime;
GetSystemTimePreciseAsFileTime(out filetime);

并导入方法:

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

关于什么可能是错的任何线索?

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

标签: c#windows

解决方案


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

赠品是该函数返回一个long. Along是一个整数。它永远不会看起来像一个DateTime.


推荐阅读