SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") 具有Z 日期字串格式
使用SimpleDateFormat建構函數時,您已將日期格式設定為「yyyy-MM-dd'T'HH:mm:ss'Z'」。格式字串末尾的“Z”字元表示日期/時間採用 UTC/GMT 時區。但是,您遇到了輸出顯示 IST 時區而不是 GMT/UTC 的問題。
出現這種情況是因為您尚未明確設定 SimpleDateFormat 物件的時區。雖然“Z”字元表示 UTC/GMT 時區中的日期,但它不會自動將日期/時間物件調整為該時區。為了確保套用正確的時區,您需要使用 setTimeZone 方法設定時區。
解決方案:
要解決此問題,您可以明確設定使用以下程式碼將時區轉換為GMT/UTC:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
透過明確設定時區,SimpleDateFormat 物件將準確表示GMT/UTC時區的日期/時間,輸出將顯示正確的時間。
以上是為什麼 `SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'')` 顯示 IST 而不是 GMT/UTC?的詳細內容。更多資訊請關注PHP中文網其他相關文章!