Windows下精确到微秒的系统时间获取

来源:互联网 发布:网络摄像头代理 编辑:程序博客网 时间:2024/05/18 04:40
参考ACE的实现代码

static const DWORDLONG FILETIME_to_timval_skew=116444736000000000;
FILETIME   tfile;
::GetSystemTimeAsFileTime (&tfile);

ULARGE_INTEGER _100ns;
_100ns.LowPart = tfile.dwLowDateTime;
_100ns.HighPart = tfile.dwHighDateTime;
_100ns.QuadPart -= FILETIME_to_timval_skew;
// Convert 100ns units to seconds;
timeval timenow;

ULARGE_INTEGER largeint;
largeint.QuadPart=_100ns.QuadPart / (10000 * 1000);

// Convert 100ns units to seconds;
timenow.tv_sec = (long) (_100ns.QuadPart / (10000 * 1000));
// Convert remainder to microseconds;
timenow.tv_usec = (long) ((_100ns.QuadPart % (10000 * 1000)) / 10);
原创粉丝点击