我正在從格式爲MM/dd/yyyy hh:mm a z
的DB中讀取時間現在我想在用戶本地時區顯示這個時間。所以我的問題是:在Java中的時區之間進行轉換
- 應該在哪裏做客戶端或服務器端?
- 爲了這個目的,在lib中是否構建?
UPDATE 所以我決定做服務器的轉換,因此,我有方法定義爲與服務器和時區的客戶端時間偏移參數日期之後。
public String convertToLocalDateTime(Date dateFromDB, Integer offSetMins) {
//1. dbDateInUTC = Convert dateFromDB to UTC
//2. return offSetMins + dbDateInUTC;
}
我不知道我該怎麼做第(1)步。任何建議?
數據庫中存儲的時間如何?作爲與時區領域的時間?你如何在你的Java代碼中檢索它(作爲什麼類型)? – assylias
準確地說,「客戶端」是什麼意思?這裏的客戶是什麼? –
從數據庫中讀取日期後,它會自動轉換爲服務器本地時間。所以它應該準備好在服務器時區顯示。對於用戶,您可以在發送日期之前將時間轉換爲用戶區域,但您需要知道用戶時區。您可以檢查用戶請求是否有可用的信息。如果它不可用,請將您的時間與您的時區一起發送給用戶進行轉換。 – MaxZoom