2011-06-10 51 views
0

我有在服務器上設置爲BST(英國夏令時)的時區,並且傳入該函數的日期是以UTC計算的。java date.before函數是否考慮了時區?

在Java Oracle站點上,它只是簡單地將時間比作「現在」,但這個「現在」時間是否與設置的時區相同,還是它在運行的服務器上設置的時區?

回答

4

有一個在java.util.Date沒有時區,它有效地就是它在運行的JVM的時區。

我的建議是,如果你需要的時區工作,使用Joda

1

它暗示java.util.Date總是店UTC時間。例如,如果您致電System.currentTimeMillis()或創建new Date(),則內部時間將採用UTC。但Date.toString()將針對不同的默認時區給予不同的時間。

因此,如果您將UTC日期傳遞到before函數,則無論服務器時區如何,您都將得到正確的結果。

相關問題