ホームページ  >  記事  >  Java  >  SimpleDateFormat を使用して「Z」リテラルを含む ISO 8601 日付を解析する方法

SimpleDateFormat を使用して「Z」リテラルを含む ISO 8601 日付を解析する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-11-04 05:57:02342ブラウズ

How to Parse ISO 8601 Dates with

SimpleDateFormat と 'Z' リテラルを使用した ISO 8601 日付の解析

問題:

試行さまざまなパターンの SimpleDateFormat クラスを使用して、「Z」タイムゾーン リテラルを含む ISO 8601 日付文字列を解析すると、正しい UTC 時間を返すことができません。具体的には、日付「2010-04-05T17:16:00Z」は、「Z」リテラルが UTC を示しているにもかかわらず、「Mon Apr 05 17:16:00 EDT 2010」として解析されます。

:

SimpleDateFormat クラスは、デフォルトでは ISO 8601 形式のタイムスタンプを処理できません。ただし、Java 7 では、この状況に特別に対処するための新しいパターンが導入されました。

yyyy-MM-dd'T'HH:mm:ssX

このパターンは、タイムゾーン接尾辞「X」を想定しており、UTC を示す「Z」リテラルを表すことができます。このパターンを使用すると、SimpleDateFormat は日付を UTC 相当の日付に正しく解析します。

代替日付パーサー:

SimpleDateFormat がニーズを満たさない場合は、次の使用を検討することもできます。 Joda-Time や ThreeTen-Backport などの代替日付解析ライブラリ。ISO 8601 の日付とタイムゾーン リテラルのサポートが強化されています。

以上がSimpleDateFormat を使用して「Z」リテラルを含む ISO 8601 日付を解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。