代码之家  ›  专栏  ›  技术社区  ›  SKINDER

什么是将计算机时间与Internet时间服务器同步的最佳方法?

  •  6
  • SKINDER  · 技术社区  · 16 年前

    我需要从桌面应用程序中的一个Internet时间服务器获取当前时间。我想我需要一个请求字符串和一个正则表达式来从用户想要的任何站点(可能有几个预定义的站点)获得时间。

    或者可能存在一些免费的图书馆?

    谢谢。

    5 回复  |  直到 16 年前
        1
  •  7
  •   paxdiablo    16 年前

    这就是 Network Time Protocol 是为了建造。但这可能是留给您的操作系统最好的东西,以免您最终使用不同的、不完全同步的服务器来决斗应用程序。

    有关Unix和Windows实现,请参见上面链接中的标题。

        2
  •  2
  •   Jerry Coffin    16 年前

    有免费图书馆 和 有关如何检索时间以及接收时间的格式的规范(因此通常不需要RES)。您的选择取决于您想要的精度/准确性水平。

    RFC 868 给第二个时间,这完全适合很多人的目的。如果足够好的话,那就是 许多 比下面列出的其他方法更容易实现。
    RFC 5905 定义网络时间协议。只要你只想 得到 时间,而不是提供给任何其他人,NTP可能是杀伤力过度。
    RFC 4330 定义sntp(简单ntp),它是ntp的简化版本,用于充当“叶节点”的计算机——即,它们从其他地方检索时间,但没有其他东西从它们检索时间。

    The NTP project 有许多系统的免费NTP库。

        3
  •  1
  •   J. Polfer    16 年前

    这感觉像是操作系统应该自己做的事情…

    Internet上有一个称为NTP的协议,它从时间服务器返回时间。

    您可能想尝试查找一个可以使用NTP为您检索时间的库/类。

    或者您可以尝试查看 ntpclient .

        4
  •  0
  •   ereOn    16 年前

    通常,大多数操作系统都嵌入了这样的功能。

    Windows和Linux都可以与 NTP 服务器。

    如果真的想让用户改变时区,您应该寻找特定于操作系统的API,而不是直接与时间服务器通信,然后改变系统时间。这将是 方式 更好。

        5
  •  0
  •   Alexander Kjäll    16 年前

    也许你可以看看这段代码,从中获得一些灵感:

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