simpledateformatの解析日「z」リテラル
を使用して、ISO 8601形式の日付をsimpledateformatを使用して解析しようとすると、 'z'リテルを正しく処理しない場合があります。たとえば、パターンを使用した文字列「2010-04-05T17:16:00Z」を解析するYyyy-Mm-dd'hh:mm:ss "は誤った現地時間になります。また、「Z」リテラルで日付を解析するにも不十分です。 「Z」リテラルはUTCを明示的に示しているため、この動作は直感に反しているように見えるかもしれません。ただし、Java 7以降では、「yyyy-mm-dd't'hh:mm:ssx」のパターンを使用して、UTCタイムゾーン接尾辞を正しく解析して適用することができます。 SimpleDateFormat( "yyyy-mm-dd't'hh:mm:ssx"); 日付= sdf.parse( "2010-04-05t17:16:00z"); Time API。次のコードは、Java.Timeを使用して日付を解析することを示しています。 Java.time.zonedDateTimeをインポートします。 文字列dateString = "2010-04-05T17:16:00Z"; instant instant = instant.parse(datestring); ZonedDateTime ZonedDateTime = instant.atzone(Zoneid.of( "z"));このアプローチは、Java.timeがUTC時間ゾーンをネイティブに処理するように、複雑なパターンまたは明示的なタイムゾーン設定の必要性を排除します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3