最近遇到了這樣的一個問題,從數據庫中取出的數據明明是“2011-11-11”,但是程序在運行時總是顯示得到的數據是“2011-11-10”。後來經過debug,發現JDBC connection以及resultset均是東8區(系統時區),而數據在存儲時使用的是UTC時區,得到的時間總是提前了一天。在stackoverflow上找到了類似的問題http://stackoverflow.com/questions/1265688/mysql-date-problem-in-different-timezones。在setup connection時將時區設置為UTC後問題解決。
摘自 行風