Javascript时间与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中的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调用不受此限制。
有了这些知识,一个人很容易和另一个人不一样,不正常。
请参阅关于Java Time的精度和准确性的扩展讨论
相关文章:
- 如何将datetime转换为以毫秒为单位的epoch时间javascript
- 将日期时间javascript绑定到表列
- 将时间字符串值转换为时间javascript
- 将字符串转换为日期时间-javascript
- 日期和时间 JavaScript 的时间戳
- 从当前日期和时间 JavaScript 中减去 5 分钟
- 服务器时间而不是客户端时间 JAVASCRIPT
- 如何获取用户名,并将其与消息一起显示,具体取决于一天中的时间(Javascript)
- 将 UTC 转换为本地时间 Javascript
- 格式化日期时间JavaScript
- 如何将 UTC 时间转换为本地时间 JavaScript
- 天气json转换时间Javascript时间戳
- 转换时间戳在UTC到用户本地时间javascript
- 如何为测验设定时间(Javascript)
- 改变css样式取决于一天的时间(javascript)
- 将UNIX时间戳转换为日期时间(javascript)
- Date对象:创建时设置静态时间(Javascript)
- 为什么不是't我的网页显示时间(javaScript)
- if 语句 - 条件评估时间(Javascript)
- IE8 日期时间 JavaScript 差异