學習Java程式設計-Java Timezone類常見問題
今天遇到了一個比較有意思的問題,從伺服器上封裝好的java.sql.timestamp物件返回到本地客戶端程式後與資料庫中的時間相差了整整14個小時。因為跟客戶的時差是14個小時,所以大體懷疑是時差問題。
所以計劃在客戶端程式執行之前首先設定預設的TimeZone:
Java程式碼
1. timezone,TimeZone.setDefault(TimeZone);
但是我伺服器上的TimeZone是什麼呢?於是我寫了個程式來看看伺服器的預設TimeZone:
Java程式碼

假設輸出是: kk,
這樣我就獲得了伺服器上的預設TimeZone:kk,然後所需要做的就是把在客戶端程式執行前設定客戶端程式的TimeZone:
Java程式碼
1. timezone,TimeZone.setDefault(TimeZone.getTimeZone("kk"));
然後取得的時間如果打印出來就跟伺服器一致了,當然你要是如果還是按照java.sql.TimeStamp的型別返回伺服器的話,時間還是原來的時間。
另外如果遠端伺服器封裝物件的時候如果直接使用String,我想就不會有這種問題了。
為了讓學習變得輕鬆、高效,今天給大家免費分享一套Java教學資源。幫助大家在成為Java架構師的道路上披荊斬棘。需要資料的歡迎加入學習交流群:9285,05736
