Windows下,如何获得微秒级时间
2个回答
2018-07-12 · 百度知道官方认证企业
腾讯电脑管家
腾讯电脑管家是腾讯公司推出的免费安全管理软件,能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、优化系统和网络环境,是中国综合能力最强、最稳定的安全软件。
向TA提问
关注
展开全部
#ifdef _WIN32#include <windows.h>#else#include <time.h>#endif // _WIND32// 定义64位整形#if defined(_WIN32) && !defined(CYGWIN)typedef __int64 int64_t;#elsetypedef long long int64t;#endif // _WIN32// 获取系统的当前时间,单位微秒(us)int64_t GetSysTimeMicros(){#ifdef _WIN32// 从1601年1月1日0:0:0:000到1970年1月1日0:0:0:000的时间(单位100ns)#define EPOCHFILETIME (116444736000000000UL) FILETIME ft; LARGE_INTEGER li; int64_t tt = 0; GetSystemTimeAsFileTime(&ft); li.LowPart = ft.dwLowDateTime; li.HighPart = ft.dwHighDateTime; // 从1970年1月1日0:0:0:000到现在的微秒数(UTC时间) tt = (li.QuadPart - EPOCHFILETIME) /10; return tt;#else timeval tv; gettimeofday(&tv, 0); return (int64_t)tv.tv_sec * 1000000 + (int64_t)tv.tv_usec;#endif // _WIN32 return 0;}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询