【发布时间】:2020-07-27 10:36:01
【问题描述】:
我唯一知道的是time(NULL),但它返回自 1970 年以来的秒数。
如果 C 没有需要的函数,我可以使用 WinApi 函数。
我什至找到了GetLocalTime WinApi 函数,但它以结构体形式返回当前日期时间...
我不想将秒数乘以 1000 的原因是因为我将代码注入到某个程序中,而我的代码用于从两个源捕获某些事件,我需要知道它们的确切时间,因为如果这两个事件自 1970 年以来发生的秒数相同,但毫秒数不同,那么对我来说,它们似乎发生在同一时间,而且很难确定首先发生了什么(我稍后对事件进行排序......)
【问题讨论】:
-
存在
RtlTimeToSecondsSince1970和RtlTimeToSecondsSince1980用于将时间(从 1601)转换为秒 -
@RbMm - 抱歉,但我不明白它如何帮助我获得自 1970 年以来的毫秒数。
-
如果想要更准确的时间 -
GetSystemTimeAsFileTime- 它实际上返回 8 字节整数。或者可以使用相对(启动)时间 -GetTickCount64- 毫秒,但自上次启动后 -
可以使用时钟,程序启动时从0开始。
-
@stark - 谢谢,但我更喜欢稍后可以变成实时的东西,这样我就可以在人类友好的时间内测量某些事件之间经过的时间。
标签: c winapi time unix-timestamp