在远程服务器上获取本地时间

我在node.js中创build了一个小型的networking服务器。 目前服务器使用新的Date()来获取当前时间。 当我在开发机器上运行服务器时,这工作得很好。 但是,一旦我把服务器部署到一个networking托pipe服务器(在其他国家),我得到了错误的时间。

node.js服务器如何获取我国的当前时间(包括夏令时偏移量)?

如果可能的话,不涉及一些外部服务器,如Google时间API。

Javascriptdate只能理解当地环境或UTC的时间。 这是date对象的基本限制,并没有内置的方法。

如果您总是希望服务器在不同的时区返回时间,那么您可以包含当前时区的时区库。 它会将本地到服务器的date转换为您select的时区。

为了做到这一点,你必须把所有的date转换为瞬间,但对于大多数人来说,这不是问题。

要获得美洲/洛杉矶时区的当前时间:

moment().tz("America/Los_Angeles").format() "2016-03-18T19:57:22-07:00" 

请注意,我现在的时间是“2016-03-18T21:58:05-05:00”。 date已经转移了两个小时以反映时差。

这当然是一个依赖,但是没有涉及到外部服务器。

时刻TimeZone的节点文档可以在这里find: http : //momentjs.com/timezone/docs/#/use-it/node-js/

您应该使用UTC时间,这是时区中性。