Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的Date类是否从用户pc计算或检索?_Java_Date - Fatal编程技术网

java中的Date类是否从用户pc计算或检索?

java中的Date类是否从用户pc计算或检索?,java,date,Java,Date,我想让一些java应用程序的试用版依赖于date。date类是否从用户的pc中检索,以便他可以欺骗?或者它是计算出来的?它是使用历元时间(自1970年1月1日格林威治标准时间午夜起的毫秒数)从用户的系统时钟计算出来的。日期信息确实来自它运行的计算机上的系统日期。因此,如果这是一个在服务器上运行java代码的web应用程序,那么这就是它的来源。如果您与其他人共享的是一个独立的java程序,它将从用户的计算机上获取日期 如果你仔细想想,它实际上没有其他来源:计算机没有一个秘密、“正确”的日期和一个单

我想让一些java应用程序的试用版依赖于date。date类是否从用户的pc中检索,以便他可以欺骗?或者它是计算出来的?

它是使用历元时间(自1970年1月1日格林威治标准时间午夜起的毫秒数)从用户的系统时钟计算出来的。

日期信息确实来自它运行的计算机上的系统日期。因此,如果这是一个在服务器上运行java代码的web应用程序,那么这就是它的来源。如果您与其他人共享的是一个独立的java程序,它将从用户的计算机上获取日期


如果你仔细想想,它实际上没有其他来源:计算机没有一个秘密、“正确”的日期和一个单独的用户可修改的日期。

假设,你可以用ntp或sntp(或web响应的标题字段)获取时间,但你是对的,Java不是这样做的。@ElliottFrisch很好,这实际上是OP完成他们所寻找的任务的一种方法:暂时调用服务器,而不是使用java的date.True(在Java8和更早版本中)。在Java 9中,的一个新实现意味着当前时间(如
Instant.now()
)以纳秒而不是毫秒的分辨率捕获。实际精度取决于您的计算机时钟硬件。您所说的“这样他就可以欺骗”是什么意思?更改设备的日期如果您不能信任用户,那么您就不能信任他们的计算机时钟,也不能信任操作系统或JVM报告的当前时间。使用您信任的时间服务器,一个在本地网络上,一个在internet上。或者使用其他硬件获取当前时间。已经讨论了关于堆栈溢出的许多其他问题和答案。