2012-01-30 23 views
7

我有一個具有動態JavaScript日曆的Web應用程序,該日曆允許用戶爲給定的數據和時間設置事件。我需要將通知推送給用戶,因此我需要將它們輸入的日期時間和時區轉換爲東部標準時間,以便我的通知在正確的時間發出。如何將日期時間從用戶時區轉換爲javascript中的javascript

我想在javascript中這樣做,以便當數據時間值到達php時,在添加到數據庫之前它的格式正確。因此,總而言之,我需要將通過捕獲用戶數據時間(作爲完整UTC日期)獲得的JavaScript數據時間和時區轉換爲我的服務器時區(即EST - 紐約)。

任何幫助或方向在這個問題上,將不勝感激。 謝謝:)

回答

15

PL檢查這個腳本

function convertToServerTimeZone(){ 

    //EST 
    offset = -5.0 

    clientDate = new Date(); 
    utc = clientDate.getTime() + (clientDate.getTimezoneOffset() * 60000); 

    serverDate = new Date(utc + (3600000*offset)); 

    alert (serverDate.toLocaleString()); 


} 
+0

This Works!如何將時間轉換回用戶時區,以便在頁面上顯示日期時間? – 2012-01-30 22:15:37

+0

這一切都在抵消。您可以使用用戶時區偏移量並使用date對象上可用的函數以用戶特定於語言環境的格式進行呈現。代碼示例請 – user47900 2012-01-30 22:24:09

+0

.....再次感謝! :) – 2012-01-30 22:34:00

0

,當你(通過PHP)使其我謹提請EST時區偏移到頁面,然後搶在UTC時間在客戶端和偏移如果你的服務器移動時區,你的頁面會突然報錯。

儘管我剛剛做了這個,但發現最簡單的方法是實際使用mySQL(我假設這是你的數據庫),並讓它在你進入時爲你轉換時區日期戳。除非你擔心這是太多的任務,而你試圖絕對減少你的數據庫的工作,我會走這條路,而不是試圖在JS中進行手動TZ轉換。

相關問題