我需要从我的桌面应用程序中的一个互联网时间服务器获取当前时间。 我想我需要像请求string和正则expression式来获取用户想要的任何站点的时间(可能与几个预定义的站点)。
或者可能有一些免费的图书馆存在?
谢谢。
这就是网络时间协议的内容。 但是,这可能是您的操作系统最好的选择,以免最终导致使用不同的,不是十分同步的服务器来对付应用程序。
请参阅以上链接中用于UNIX和Windows实现的标题。
有免费的图书馆和规格如何检索时间,以及您接收的格式(所以通常是不必要的RE)。 你的选择取决于你想要的精确度/准确度。
RFC 868给出了第二个时间,这对于许多人的目的来说是完全足够的。 如果它足够好,比下面列出的更容易实现。
RFC 5905定义了网络时间协议。 只要你只想得到时间,不提供给任何人,但NTP可能是过度杀伤。
RFC 4330定义了SNTP(简单NTP),它是NTP的简化版本,用于充当“叶节点”的计算机,即从别处检索时间,但没有其他检索时间。
NTP项目为许多系统提供免费的NTP库。
这感觉就像操作系统应该自己做的一样…
互联网上有一个名为NTP的协议,它从时间服务器返回时间。
你可能想尝试寻找一个可以使用NTP来为你检索时间的库/类。
或者你可以尝试查看ntpclient的源代码。
通常,大多数操作系统嵌入这样的功能。
Windows和Linux都可以与NTP服务器同步。
如果真的想让用户改变其时区,你应该寻找操作系统特定的API,而不是直接与时间服务器通信,然后改变系统时间。 这将会更好。
也许你可以看看这个代码,并得到一些启发: