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 サイトの他の関連記事を参照してください。