首頁  >  文章  >  Java  >  如何使用 SimpleDateFormat 解析帶有 \"Z\" 文字的 ISO 8601 日期?

如何使用 SimpleDateFormat 解析帶有 \"Z\" 文字的 ISO 8601 日期?

Susan Sarandon
Susan Sarandon原創
2024-11-04 05:57:02345瀏覽

How to Parse ISO 8601 Dates with

使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn