2017-03-06 40 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

實現是相當成功和直接 - 接受。謝謝! –