Javascript Date() 初始化格式错误
Javascript Date() initialization in bad format
我正在写 javascript 多人游戏,我的服务器代码在 nodejs 中。
我需要在服务器和客户端之间同步时间。
在服务器端我调用 Date() 并将日期字符串发送给客户端。
客户收到:
Tue Apr 28 2015 15:37:01 GMT+0000 (UTC)
初始化后:
var time = Date("Tue Apr 28 2015 15:37:01 GMT+0000 (UTC)");
设置为本地时间的时间变量为:
Tue Apr 28 2015 17:37:03 GMT+0200 (CEST).
如果我 运行 我的服务器在本地,那么时间导入正确。
不同时间格式的问题,CEST vs UTC?
感谢您的回答
在 JS 中有多种处理时区的方法。
设置整个系统的 UTC 时间
使用.setUTCHours()
Here你可以看看怎么用
创建新的 UTC 日期
new Date(Date.UTC(year, month, day, hour, minute, second))
Date.UTC说明here
手动更正时区差异
var d = new Date(xiYear, xiMonth, xiDate);
d.setTime( d.getTime() + d.getTimezoneOffset()*60*1000 );
您可以从服务器以毫秒格式发送日期,然后将毫秒转换为所需格式的日期。
服务器:
var time = new Date().getTime();
克莱因特:
var date = new Date(time);
我正在写 javascript 多人游戏,我的服务器代码在 nodejs 中。 我需要在服务器和客户端之间同步时间。
在服务器端我调用 Date() 并将日期字符串发送给客户端。 客户收到:
Tue Apr 28 2015 15:37:01 GMT+0000 (UTC)
初始化后:
var time = Date("Tue Apr 28 2015 15:37:01 GMT+0000 (UTC)");
设置为本地时间的时间变量为:
Tue Apr 28 2015 17:37:03 GMT+0200 (CEST).
如果我 运行 我的服务器在本地,那么时间导入正确。 不同时间格式的问题,CEST vs UTC?
感谢您的回答
在 JS 中有多种处理时区的方法。
设置整个系统的 UTC 时间
使用.setUTCHours()
Here你可以看看怎么用
创建新的 UTC 日期
new Date(Date.UTC(year, month, day, hour, minute, second))
Date.UTC说明here
手动更正时区差异
var d = new Date(xiYear, xiMonth, xiDate);
d.setTime( d.getTime() + d.getTimezoneOffset()*60*1000 );
您可以从服务器以毫秒格式发送日期,然后将毫秒转换为所需格式的日期。
服务器:
var time = new Date().getTime();
克莱因特:
var date = new Date(time);