2013-01-31 199 views
0

我從mysql datebase('datetime'列值)中檢索到日期時間值,並在通過ajax調用獲取日期時間值後,當我創建Date對象時,它認爲日期時間是在EST時間。但在DB中它存儲在GMT時間。我怎樣才能得到JavaScript認爲值爲GMT時間?將時間戳轉換爲UTC(或GMT)時間?

這裏是我的代碼:

timestamp = new Date(data[i].startTime); 
alert(timestamp.getTime()); 

警報顯示相同的確切時間,但認爲在本地時間(EST)。 IE:如果數據[I] .startTime讀爲"2012-11-27 09:05:18",則警報報告1354025118.毫秒這個數字雖然指2012-11-27 09:05:18 GMT-0500(或2012-11-27 14:05:18

+0

如何在MySQL端使用'CONVERT_TZ'? – Kermit

回答

0

我怎樣才能得到JavaScript來考慮價值GMT時間?

要使Date constructor不使用本地(當前用戶)時區,請使用帶時區信息的日期時間字符串,例如, "2012-11-27 09:05:18 GMT"。然而,很難找到可靠的解析每個瀏覽器的格式 - Date.parse算法是實現相關的。更好的辦法是使用unix時間戳,即unix epoch以來的毫秒數,或者使用正則表達式在其部分中拆分字符串,然後將它們輸入Date.UTC

+0

啊,是的,它的工作原理。解決方案如下: – user2029861

+0

timestamp = new Date(data [i] .startTime +「GMT」); – user2029861

+1

您是否在所有瀏覽器中測試過該功能? – Bergi