我有一個紀元時間(秒)。它顯示我JAVA
不同的時間,當我這樣做時代在不同的時區顯示不同的日期?
new Date(time*1000)
,並在SQL當我這樣做
SELECT cast((DATE '1970-01-01' + time/24/60/60) as timestamp) from dual
。
問題主要是,我需要在凌晨2點到凌晨4點之間的特定間隔的數據。所以當我將秒值傳遞給SQL查詢時。它將其解釋爲上午9點到上午11點。我知道這是因爲時區差異。
我該如何克服這個問題?
我有一個紀元時間(秒)。它顯示我JAVA
不同的時間,當我這樣做時代在不同的時區顯示不同的日期?
new Date(time*1000)
,並在SQL當我這樣做
SELECT cast((DATE '1970-01-01' + time/24/60/60) as timestamp) from dual
。
問題主要是,我需要在凌晨2點到凌晨4點之間的特定間隔的數據。所以當我將秒值傳遞給SQL查詢時。它將其解釋爲上午9點到上午11點。我知道這是因爲時區差異。
我該如何克服這個問題?
嘗試使用時間戳來代替:
SELECT cast((TIMESTAMP '1970-01-01 00:00:00.00' + time/24/60/60) as timestamp)
FROM dual
我對處理任何時區有關問題的建議是,總是在內部處理時間爲UTC,並將其存儲在數據存儲爲世界標準時間。只能將它們轉換爲只顯示給用戶的本地時間。