Java脚本时间不同于 Java 时间
Javascript time differs from Java time
我是 运行 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?并且两者在同一台机器上 运行。
"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 毫秒。 Java脚本调用不受此限制。
有了这些知识,一个人就很容易与另一个人不一样,乱七八糟。
请参阅有关 precision and accurracy of Java Time
的扩展讨论
我是 运行 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?并且两者在同一台机器上 运行。
"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 毫秒。 Java脚本调用不受此限制。
有了这些知识,一个人就很容易与另一个人不一样,乱七八糟。
请参阅有关 precision and accurracy of Java Time
的扩展讨论