Javascriptdate()初始化格式不正确

我正在写javascript多人游戏,我的服务器代码是在nodejs。 我需要在服务器和客户端之间同步时间。

在服务器端,我调用Date()并将datestring发送给客户端。 客户收到:

Tue Apr 28 2015 15:37:01 GMT+0000 (UTC) 

初始化后:

 var time = Date("Tue Apr 28 2015 15:37:01 GMT+0000 (UTC)"); 

设置为当地时间的时间variables是:

 Tue Apr 28 2015 17:37:03 GMT+0200 (CEST). 

如果我运行我的服务器本地然后时间正确导入。 问题在不同的时间格式,CEST vs UTC?

谢谢你的答案

您可以从服务器date以毫秒格式发送,然后以所需格式将毫秒转换为date。

服务器:

var time = new Date()。getTime();

Cleint:

var date = new Date(time);

有很多种方法来处理JS中的时区。

在系统中设置UTC时间

使用.setUTCHours() 在这里你可以看到如何使用它。

创build一个新的UTCdate

new Date(Date.UTC(year, month, day, hour, minute, second))

Date.UTC 在这里解释

手动更正时区中的差异

 var d = new Date(xiYear, xiMonth, xiDate); d.setTime( d.getTime() + d.getTimezoneOffset()*60*1000 );