我有在服務器上設置爲BST(英國夏令時)的時區,並且傳入該函數的日期是以UTC計算的。java date.before函數是否考慮了時區?
在Java Oracle站點上,它只是簡單地將時間比作「現在」,但這個「現在」時間是否與設置的時區相同,還是它在運行的服務器上設置的時區?
我有在服務器上設置爲BST(英國夏令時)的時區,並且傳入該函數的日期是以UTC計算的。java date.before函數是否考慮了時區?
在Java Oracle站點上,它只是簡單地將時間比作「現在」,但這個「現在」時間是否與設置的時區相同,還是它在運行的服務器上設置的時區?
有一個在java.util.Date
沒有時區,它有效地就是它在運行的JVM的時區。
我的建議是,如果你需要的時區工作,使用Joda
它暗示java.util.Date
總是店UTC時間。例如,如果您致電System.currentTimeMillis()
或創建new Date()
,則內部時間將採用UTC。但Date.toString()
將針對不同的默認時區給予不同的時間。
因此,如果您將UTC日期傳遞到before
函數,則無論服務器時區如何,您都將得到正確的結果。