【发布时间】:2014-10-01 13:44:51
【问题描述】:
我有一个 NTP 服务器,我得到如下日期:
DateTime NTPDateTime = GetServerTime(); //GetServerTime returns a new DateTime
但我的问题是,我只能从 ntp-server 获取当前时间,但如果不重新连接到 NTP-Server,则无法更新它。
我曾尝试在类似(1000 毫秒间隔)的线程中执行此操作
string displayTime() {
this.lblServerTime.Text = NTPDateTime.ToLongTimeString();
}
它总是显示与预期相同的 DateTime。喜欢 (01.10.2014 - 15:31:25)
但是如何更新 DateTime 以便它始终为我提供当前的 DateTime?
例如,如果我使用下面的代码,它会给我当前的当地时间
//in a thread
string displayTime() {
this.lblServerTime.Text = DateTime.Now.ToLongTimeString();
}
但我需要服务器时间而不是本地时间。而我的问题是我不能每秒钟都得到它。
有没有办法做到这一点,而无需每秒与 ntp 服务器建立新连接?我有超过 500 个需要服务器时间的客户端应用程序。
【问题讨论】:
-
您应该将您的服务器配置为与 NTP 服务器同步。
-
您是要设置本地系统的时间,还是只显示服务器的时间?如果您需要服务器时间,则需要继续调用它。
-
你的意思是想让 OS DateTime 和 NTP 服务器同步吗?
-
@crashmstr 我需要几秒钟的服务器时间。如果可能的话,我想在不连接到 NTP 服务器的情况下做到这一点
-
GetServerTime是什么?