使用SimpleDateFormat 和'Z' 文字解析使用具有各種模式的SimpleDateFormat 類別解析包含「Z」時區文字的ISO 8601 日期字串無法傳回正確的UTC 時間。具體來說,日期“2010-04-05T17:16:00Z”被解析為“Mon Apr 05 17:16:00 EDT 2010”,儘管“Z”文字表示 UTC。
解決方案:
SimpleDateFormat 類別預設無法處理 ISO 8601 格式的時間戳記。然而,在 Java 7 中,引入了一種新模式來專門處理這種情況:此模式需要「X」時區後綴,它可以表示「Z」文字來指示 UTC。使用此模式時,SimpleDateFormat 會正確地將日期解析為其 UTC 等效值。
替代日期解析器:yyyy-MM-dd'T'HH:mm:ssX如果SimpleDateFormat 無法滿足您的需求,您也可以考慮使用替代日期解析庫,例如Joda-Time 或ThreeTen-Backport,它們對ISO 8601 日期和時區文字有更好的支援。
以上是如何使用 SimpleDateFormat 解析帶有 \"Z\" 文字的 ISO 8601 日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!