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 );