如何在java中获取原始日期和时间

如何在java中获取原始日期和时间,java,Java,实际上 Date date = new Date(); 将为我们提供运行应用程序的服务器的日期。 如果特定的服务器设置了错误的日期和时间,那么我们如何才能获得真实的日期和时间?我不会太担心服务器的正确日期。我的意思是服务器通常由您管理,所以只需正确设置时间或使用自动设置正确的时间 您更应该担心的是客户的日期/时间,因为这是由您的用户设置的,并且可能总是错误的。如果您需要信任客户端上的时间,并且需要它对多个用户来说是可靠的和可比较的,那么从服务器检索时间并考虑延迟(如果需要)。我想使用web服务

实际上

Date date = new Date();
将为我们提供运行应用程序的服务器的日期。
如果特定的服务器设置了错误的日期和时间,那么我们如何才能获得真实的日期和时间?

我不会太担心服务器的正确日期。我的意思是服务器通常由您管理,所以只需正确设置时间或使用自动设置正确的时间


您更应该担心的是客户的日期/时间,因为这是由您的用户设置的,并且可能总是错误的。如果您需要信任客户端上的时间,并且需要它对多个用户来说是可靠的和可比较的,那么从服务器检索时间并考虑延迟(如果需要)。

我想使用web服务。但你必须考虑延迟。“错误”是指时区不被解释,还是完全不正确?我同意Matthias的观点。为了再次检查服务器,我添加了服务器应用程序启动时运行的代码,以便从可靠来源获取时间并与服务器的计算机时钟进行比较。如果差距太大,我会发出警报、发送电子邮件或诸如此类的信息。对于长时间运行的应用程序,编写一个守护进程,该守护进程大部分时间处于休眠状态,偶尔会唤醒以运行相同的检查。如果您有权访问服务器,只需不正确地设置其时钟,然后等待服务器是否自行更正(但在适当的时间执行),即可验证服务器是否正确地从其他来源获取当前时间。来自美国政府、国家标准与技术研究所。示例:
curl-s time.nist.gov:13