2014-01-23 26 views
0

我在節點js中創建日期,我的服務器是在IST中,我想確定日期是否來自PDT或PST(即,如果夏令時是打開或關閉)。如果我的服務器處於PST/PDT時間,它將自動決定。有什麼辦法可以確定嗎?如何確定一天是否在JavaScript中的PST或PDT

+1

不適用於將來的日期。規則可以改變。 –

+0

過去的日期怎麼樣?當我創建新的Date(「dateString」)時,如果我的系統時間在PT中,它可以決定PST或PDT。我想從IST系統時間做同樣的事情。 – Neo

+1

dup文件中的答案是一種方法。另一種方法是使用[moment.js]中的'isDST'函數(http://momentjs.com) –

回答

0

在創建日期...Date()後,您可以通過...getTimezoneOffset()檢索客戶端的時區偏移量。您無法分辨客戶端是否在DST中,但您的絕對金額爲GMT/UTC。或者,您可以進一步檢索UTC時間戳的時間並將其轉換爲服務器上所需的任何內容。

+0

我會得到一個來自PT的日期字符串「10/23/2014 00:00:00」。我發送給可能在任何時區的客戶,但是我想確定那天的PT是夏令時。 – Neo

+0

以毫秒爲單位轉換爲UTC時間戳,將其發送到客戶端並從毫秒中創建日期而不是格式化的字符串。無論使用或不使用DST的時區,日期都是正確的,因爲它是從UTC開始設置的:'ndate = new Date(); ndate.setTime(UTCinMillisFromServer);' –

相關問題