【问题标题】:timestamp in milliseconds in Windows [duplicate]Windows中的时间戳(以毫秒为单位)[重复]
【发布时间】:2013-08-26 16:58:57
【问题描述】:

我需要及时测量两个单独的事件并比较它们(不在同一个应用程序中),所以我想知道来自同一个参考的时间戳(同一台机器上的不同应用程序)。

在 Windows 系统上执行此操作的最简单方法是什么?我读过关于 gettimeofday 的文章,但这似乎是一个 Unix 特有的函数。

我也不想使用 boost 或任何其他外部库(windows 库很好)。

【问题讨论】:

  • 请注意,您可能只会获得毫秒 precision,而不是毫秒 accuracy
  • 有什么区别?
  • @TimothyShields:他说他有相同的参考(相同的机器,不同的工艺),所以这里关注的是精度。也就是说,以毫秒(或更小)为单位的返回值并不能保证毫秒精度。
  • Accuracy and precision - 阅读这篇文章。
  • 更重要的是precisionresolution的区别。

标签: c++ windows


【解决方案1】:

您可以使用GetSystemTime,它返回SYSTEMTIME(以毫秒为单位)。

【讨论】:

    【解决方案2】:

    GetTickCount 给你一个一毫秒的计时器。它非常适合时间戳,因为您不需要转换任何内容。甚至可以在 49.6 天的时间内计算出时间跨度。

    【讨论】:

    • "GetTickCount函数的分辨率限制在……10毫秒到16毫秒的范围内。"
    • @MooingDuck:绝对需要注意,因为它会影响很多时间函数。
    猜你喜欢
    • 2015-06-17
    • 2023-03-11
    • 2015-09-22
    • 2020-07-27
    • 1970-01-01
    • 2011-08-02
    • 2015-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多