2011-07-25 104 views
0

我在本地時區java.sql.Timestamp變量具有以下格式如何的java.sql.Timestamp值從美國東部時間轉換爲UTC時區

2011-07-21 00:40:37

我需要將其轉換爲UTC

I asked this question to see if it can be done by mysql, but received no answers.

我想我必須以某種方式在java代碼中進行替換之前,在查詢

+0

http://stackoverflow.com/questions/2609360/converting-local-timestamp-to-utc-timestamp-in-java 已經問。 –

+0

@Jon這對我不起作用,因爲它沒有考慮變量DST。這個代碼將被部署在多個時區中,並且我將根據它的位置和時間來準確地進行UTC轉換... –

+0

MySQL解決方案'SELECT CONVERT_TZ(NOW(),@@ session.time_zone,'+00 :00')' –

回答

2

我建議使用Joda Time來解析時間戳。您需要將時區設置爲EST,然後從那裏獲取UTC時間。你可以用通用的Java Date做同樣的事情,但是Joda更容易處理。

+0

有沒有辦法讀取當地時區? EST只是一個例子,但它可能是任何時區 –

+0

在仔細研究Joda時間之後,我發現它具有'public longLocalToUTC(long instantLocal,boolean strict)'看起來像將嚴格參數設置爲True將使其佔DST如果適用。希望它會變成我所需要的。直到質量保證完成之後才肯定知道 –

相關問題