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

时间:2016-03-17 20:50:37

标签: javascript node.js time

我在node.js中创建了一个小型网络服务器。目前,服务器使用新的Date()来获取当前时间。当我在我的开发机器上运行服务器时,这很好用。但是,一旦我将服务器部署到网络托管服务商(在其他一些国家/地区),我的时间就错了。

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

如果可能,不涉及某些外部服务器,例如Google时间API。

2 个答案:

答案 0 :(得分:1)

Javascript日期仅了解环境的本地时间或UTC。这是日期对象的基本限制,并且没有内置的方法。

如果您始终希望服务器在不同的时区返回时间,那么您可以包括时区时区时区库。它会将服务器本地的日期转换为您选择的时区。

为了做到这一点,您必须将所有日期转换为时刻,但对于大多数人来说,这不是问题。

获取America / Los_Angeles时区的当前时间:

sqlite> select * from dates;
%2015%
%2016%

请注意,我当前的时间是“2016-03-18T21:58:05-05:00”。该日期已经过了两个小时,以反映时差。

这当然是一种依赖,但不涉及外部服务器。

Moment TimeZone的节点文档可在此处找到:http://momentjs.com/timezone/docs/#/use-it/node-js/

答案 1 :(得分:0)

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