gpt4 book ai didi

JavaScript 时间与 Java 时间不同

转载 作者:行者123 更新时间:2023-11-28 19:11:13 25 4
gpt4 key购买 nike

我在同一台机器上运行 JavaServlet 和 JavascriptApp。

servlet 输出当前时间:

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletOutputStream os = resp.getOutputStream();
os.print("" + System.currentTimeMillis());
}

JS获取时间:

$.get("UserdataServlet", function(data) {
console.log("dy " + data);
console.log("my " + Date.now());
});

有时会打印如下值:

dy 1433690185937
my 1433690185935

怎么会这样呢? Servlet 上的时间是在 javascript 中的 Date.now() 之前获取的吗?并且两者都在同一台机器上运行。

“my 1433690185935”应始终大于或至少等于“dy 1433690185937”。但怎么才能变小呢

这是浏览器的某种优化吗?

更多示例:

GET http://localhost:8081/Planetserverlinux/UserdataServlet
dy 1433691257707
my 1433691257717

GET http://localhost:8081/Planetserverlinux/UserdataServlet
dy 1433691258716
my 1433691258719

GET http://localhost:8081/Planetserverlinux/UserdataServlet
dy 1433691259700
my 1433691259715

GET http://localhost:8081/Planetserverlinux/UserdataServlet
dy 1433691260700
my 1433691260720

GET http://localhost:8081/Planetserverlinux/UserdataServlet
dy 1433691261700
my 1433691261712

GET http://localhost:8081/Planetserverlinux/UserdataServlet
dy 1433691262704
my 1433691262701

最佳答案

由于您在 Windows 计算机上运行,​​因此获取时间的 Java 调用将四舍五入到最接近的 16 毫秒。 Javascript调用不受此限制。

有了这些知识,一个人就很容易与另一个人不同,并且乱七八糟。

请参阅关于 precision and accurracy of Java Time 的此扩展讨论

关于JavaScript 时间与 Java 时间不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30695203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com