簡體   English   中英

將計算機時間與互聯網時間服務器同步的最佳方法是什么?

[英]What is the best way to sync computer time with an internet time server?

我需要從桌面應用程序中的一個Internet時間服務器獲取當前時間。 我想我需要像請求字符串和正則表達式這樣的東西來從用戶想要的任何站點獲取時間(可能有幾個預定義的站點)。

或者可能存在一些免費的庫?

謝謝。

這就是網絡時間協議的構建目的。 但它可能最適合您的操作系統,以免您最終使用不同的,非完全同步的服務器來決定應用程序。

有關UNIX和Windows實現,請參閱上面鏈接中的標題。

有關如何檢索時間的免費庫規范,以及接收時間的格式(因此通常不需要RE)。 您的選擇取決於您想要的精度/准確度。

RFC 868為第二個提供了時間,這完全足以滿足很多人的需求。 如果它不夠好,這是一個簡單得多比下面列出的他人實施。
RFC 5905定義了網絡時間協議。 只要您只想獲得時間,而不是為其他人提供時間,NTP可能有點矯枉過正了。
RFC 4330定義了SNTP(簡單NTP),它是用作“葉節點”的計算機的NTP的簡化版本 - 即,它們從其他地方檢索時間,但沒有其他任何東西從它們中檢索時間。

NTP項目為許多系統提供免費的NTP庫。

這感覺就像操作系統應該自己做的事情......

互聯網上有一個名為NTP的協議,它從時間服務器返回時間。

您可能想嘗試查找可以使用NTP為您檢索時間的庫/類。

或者您可以嘗試查看ntpclient的源代碼。

通常,大多數操作系統都嵌入了這樣的功能。

Windows和Linux都可以與NTP服務器同步。

如果真的想讓用戶更改其時區,您應該查找特定於操作系統的API,而不是直接與時間服務器通信,然后更改系統時間。 這將是更好的方式

也許你可以看看這段代碼並獲得一些靈感:

http://web.abnormal.com/~thogard/ntp/ntpdate.c

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM