检索服务器本地时间

时间:2018-05-27 18:53:31

标签: javascript

我遇到了从服务器检索“本地时间”的问题。当我打电话给'timedatectl status'时,我的意思是当地时间。

  Local time: Sun 2018-05-27 14:45:37 EDT
  Universal time: Sun 2018-05-27 18:45:37 UTC
    Timezone: America/New_York (EDT, -0400)
 NTP enabled: yes
 NTP synchronized: no
 RTC in local TZ: no
    DST active: yes
 Last DST change: DST began at
              Sun 2018-03-11 01:59:59 EST
              Sun 2018-03-11 03:00:00 EDT
 Next DST change: DST ends (the clock jumps one hour backwards) at
              Sun 2018-11-04 01:59:59 EDT
              Sun 2018-11-04 01:00:00 EST

我能够从我的服务器访问UTC值但是我想要检索本地时间值,以反映我的应用程序中时区的任何系统更改。目前我通过在响应标头中请求日期来获取服务器时间,但如果系统上的时区发生变化,这对我没有帮助。这是用javascript完成的。​​

3 个答案:

答案 0 :(得分:0)

这有帮助吗?

//get the current datetime
var weather1d=new Date();

// UTC & BST in my case
// UTC    Sun, 27 May 2018 20:01:28 GMT 
// Local  Sun May 27 2018 21:01:28 GMT+0100 (GMT Summer Time)

 console.log('UTC ',weather1d.toUTCString());
 console.log('Local ',weather1d.toString());

答案 1 :(得分:0)

你需要一些服务器端技术。

根据您未传达的基础设施,您可以使用在网络服务器前建立的反向代理,或直接在网络服务器添加标题(服务器端包括,lua,...) 或者您在应用程序服务器中添加标头,如果您运行NodeJS,则可以使用JavaScript。

答案 2 :(得分:0)

对于那些发现自己处于这种情况的人。我有一个nginx网络服务器,并提出了两个解决方案。一个是打开SSI用于nginx并以这种方式回显值,但是我并不认为这将是最好的行动方案,所以第二个解决方案是从发回的时间中删除时区偏移量通过由moment.js转换的服务器。这是解决我的问题的解决方案。