在 Java 中處理時間戳時,考慮時區以確保準確的日期和時間轉換至關重要。當與期望時間參數位於特定時區(例如 GMT)的 Web 服務整合時,這一點變得尤為重要。
從使用者輸入取得時間戳記且使用者時區未知時會出現常見情況。為了解決這個問題,我們需要將使用者的本地時間轉換為所需的時區,例如 GMT。
提供的程式碼片段表現出對時間戳預設時區的誤解。預設情況下,時間戳本身並不採用 GMT。它們通常表示系統本地時區中的當前時間。
要將時間戳轉換為特定時區的 Java 日曆對象,可以使用名為 ConvertTimestampToJavaCalendar 的方法。但是,當嘗試將日曆的時區設定為 GMT 時,此方法會出現問題。修改日曆的時區並不會自動更新底層日期。
這個問題的解決方案在於convertToGmt方法,該方法接受一個日曆物件並將其日期和偏移量轉換為GMT時間的新日曆物件區。以下是其工作原理的逐步說明:
此方法可確保產生的日曆物件代表 GMT 時區的正確時間。例如,如果輸入時間是“12:09:05 EDT”,則轉換後的 GMT 時間將為“08:09:05 GMT”。
值得注意的是,此方法適用於網路的情況服務處理日曆參數。或者,如果 Web 服務期望以從紀元開始的毫秒為單位的時間參數,則可以透過簡單地從輸入日曆取得毫秒來繞過時區轉換。
以上是如何將 Java 時間戳轉換為特定時區?的詳細內容。更多資訊請關注PHP中文網其他相關文章!