我正在编写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 与 UTC)是否存在问题?
谢谢各位的解答
最佳答案
JS 中有多种处理时区的方法。
跨系统设置 UTC 时间
使用.setUTCHours()
Here您可以看到如何使用它。
创建新的 UTC 日期
new Date(Date.UTC(年、月、日、时、分、秒))
Date.UTC 解释 here
手动更正时区差异
var d = new Date(xiYear, xiMonth, xiDate);
d.setTime( d.getTime() + d.getTimezoneOffset()*60*1000 );
关于Javascript Date() 初始化格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29923971/