2013-05-21 28 views
0

嘗試將日期字符串轉換爲HST時間,但它不起作用。如何在JavaScript中將日期/時間轉換爲HST?

相關代碼:

var MINUTES_IN_MILLI = 60000, 
    HOURS_IN_MILLI = 3600000, 
    UTC2HST_OFFSET = 10, 
    date1 = new Date('2013-05-31T00:00:00Z'), 
    utc1 = date1.getTime() + (date1.getTimezoneOffset() * MINUTES_IN_MILLI), 
    hstDate1 = utc1 - (HOURS_IN_MILLI * UTC2HST_OFFSET); 
+0

什麼「不起作用」呢?你爲什麼用逗號把它全部放在一個語句中?什麼是「HST」?我可能猜測你在夏威夷,但我可能猜錯了。 –

+0

它似乎沒有給我在HST(夏威夷)的時間。 –

+0

您需要提供更多詳細信息。這段代碼實際上並沒有給你任何東西,因爲你只是設置了一些變量。 'hstDate1'的輸出將是一個數字,而不是日期。請提供完整的示例。顯示你所得到的,以及你的期望。另外,你真的*在*夏威夷,只是尋找當地時間?如果用戶在其他地方 - 如果它顯示夏威夷時間還是他們自己的時間? –

回答

0

我會去上肢體和說,問題是,您將引入兩個已知的固定偏移(10小時),並從getTimezoneOffset()派生偏移。

你可能不希望:

utc1 = date1.getTime() + (date1.getTimezoneOffset() * MINUTES_IN_MILLI) 

從你給它的變量名,我假設你想要的UTC時間戳,所以才這樣做:

utc1 = date1.getTime() 

但是,如果沒有額外的信息我在評論中要求,我不能確定這真的是你以後的事情。請更新您的問題,我會根據需要修改此答案。

相關問題