2017-03-06 97 views
0

环境:Windows,C++,Visual Studio的2015年加入或减去系统时间的一小部分时间

我试图做一些小规模的调整,基于时间同步算法,它返回系统时间“x秒,y纳秒”格式的系统时间差异。我知道Windows提供SetSystemTime来调整系统时间,但1)SYSTEMTIME结构只精确到毫秒,和2)从我的理解我需要做一个get-modify-set例程来计算在时间差异,这可能会影响行动的准确性。

有没有办法将系统时间精确​​到微秒或纳秒?理想情况下,不使用外部库,但我仍然对这些开放,因为它是一个几乎没有限制的实践项目。

+0

为什么你需要那个? –

回答

1

不要试图以任何方式混淆系统时钟。

我只是将这个逻辑包含在一个获取时间的函数中,应用调整并返回调整的时间。取决于你的调整逻辑,但通常这不应该以任何明显的方式达到性能。

这样可以让您在需要时明确调整时间,否则就会得到原始时间。

+0

为什么Windows仍然提供SetSystemTime?替代实现听起来合理,我会看看它是否达到了一致的结果。 –

+0

@AndyYan我认为Windows提供这一点只是因为如果它不是你将无法改变系统时间:)真的很奇怪的情况,即使对于Windows ...看,这个功能需要提升特权,这总是为一个原因。 –

+0

实现是相当成功和直接 - 接受。谢谢! –