AndroidでISO8601文字列をJava日付に解析する方法

マウカー

サーバーと通信するAndroidでアプリを作成しています。そのサーバーは、次のようなISO8601日付文字列を返します

2014-11-21 12:24:56.662061-02

次に、JavaのSimpleDateFormatterを使用して、次のように文字列を解析しようとしています。

        Locale l = new Locale("pt","BR");
        Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSSZZ",l).parse(str_date);
        Calendar cal = Calendar.getInstance();
        cal.setTimeInMillis(date.getTime());

つまり、このソリューションは部分的に機能します。年、月、日、時間を正しく取得することはできますが、時間、分、秒になると、常に分が間違ってしまいます。例の文字列を使用して印刷しようとすると、「12:24」ではなく「12:35」のようになります。ロケールを使用せずにロケールを使用してさまざまなマスクを試しましたが、何も機能しないようです。

このリンクで、SimpleDateFormatterがISO 8601を十分にサポートしていないことを確認しました。その人は、javax.xml.bind.DatatypeConverter.parseDateTime()メソッドを使用してソリューションを提供しましたが、DatatypeConverterはAndroidSDKに存在しません。だから...この文字列を正しく解析するにはどうすればよいですか?

Joop Eggen

Sミリ秒です。662061は662秒= 11分です。

どういうわけかマイクロ秒を捨てて、SSSを使用してください。

str_date = str_date.replaceFirst("(\\d\\d[\\.,]\\d{3})\\d+", "$1");

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SwiftでISO8601文字列を現在まで解析する

分類Dev

JavaはISO8601文字列をオフセットを無視して日付に変換します

分類Dev

Objective-cでISO8601の日付を解析する方法

分類Dev

ISO8601 TZ形式の文字列を日付に変換する

分類Dev

GWTでISO8601日付文字列を作成する

分類Dev

ISO8601の日付+時刻文字列を日付に変換する

分類Dev

AndroidでISO8601の日付を文字列に変換できません

分類Dev

typescript / javascriptでISO-8601文字列をローカル日付に変換する

分類Dev

Python3.5でマイクロ秒ではなくミリ秒で日時のISO8601文字列を取得する方法

分類Dev

日時の代わりにISO8601文字列

分類Dev

Iso 8601文字列をUTC日付にカーボン解析し、dbに記録します

分類Dev

ISO8601日付文字列をUTCタイムゾーンで日付まで解析します

分類Dev

postgresの日付表現をISO 8601文字列に変換

分類Dev

postgresの日付表現をISO 8601文字列に変換

分類Dev

postgresの日付表現をISO 8601文字列に変換

分類Dev

Typelite:DTOの日付はDateにマップされますが、実際にはISO8601文字列です

分類Dev

JavaでISO8601日時文字列を検証するための推奨される方法は何ですか

分類Dev

JavaでISO8601の週番号から日付を計算する方法

分類Dev

ISO8601形式で日付を比較する方法は?

分類Dev

JSTLでISO8601として日付を表示する方法

分類Dev

ISO8601文字列を出力します

分類Dev

ActiveRecordに保存されているiso8601文字列を文字列または日時として保存しますか?

分類Dev

linuxdateコマンドを使用してISO8601の日付を解析する方法

分類Dev

Javaの8日付と時刻:コロンなしの解析ISO 8601文字列のオフセットで

分類Dev

ExcelでISO8601の日付/時刻(TimeZoneを含む)を解析する

分類Dev

DataTimeIndexからISO8601文字列

分類Dev

PHPでこのISO8601日付内の「T」文字を正しく認識する方法

分類Dev

ISO8601日付形式の日付文字列を検証できません

分類Dev

UTCからJavaへの標準ISO8601形式の入力文字列を解析する方法は?

Related 関連記事

  1. 1

    SwiftでISO8601文字列を現在まで解析する

  2. 2

    JavaはISO8601文字列をオフセットを無視して日付に変換します

  3. 3

    Objective-cでISO8601の日付を解析する方法

  4. 4

    ISO8601 TZ形式の文字列を日付に変換する

  5. 5

    GWTでISO8601日付文字列を作成する

  6. 6

    ISO8601の日付+時刻文字列を日付に変換する

  7. 7

    AndroidでISO8601の日付を文字列に変換できません

  8. 8

    typescript / javascriptでISO-8601文字列をローカル日付に変換する

  9. 9

    Python3.5でマイクロ秒ではなくミリ秒で日時のISO8601文字列を取得する方法

  10. 10

    日時の代わりにISO8601文字列

  11. 11

    Iso 8601文字列をUTC日付にカーボン解析し、dbに記録します

  12. 12

    ISO8601日付文字列をUTCタイムゾーンで日付まで解析します

  13. 13

    postgresの日付表現をISO 8601文字列に変換

  14. 14

    postgresの日付表現をISO 8601文字列に変換

  15. 15

    postgresの日付表現をISO 8601文字列に変換

  16. 16

    Typelite:DTOの日付はDateにマップされますが、実際にはISO8601文字列です

  17. 17

    JavaでISO8601日時文字列を検証するための推奨される方法は何ですか

  18. 18

    JavaでISO8601の週番号から日付を計算する方法

  19. 19

    ISO8601形式で日付を比較する方法は?

  20. 20

    JSTLでISO8601として日付を表示する方法

  21. 21

    ISO8601文字列を出力します

  22. 22

    ActiveRecordに保存されているiso8601文字列を文字列または日時として保存しますか?

  23. 23

    linuxdateコマンドを使用してISO8601の日付を解析する方法

  24. 24

    Javaの8日付と時刻:コロンなしの解析ISO 8601文字列のオフセットで

  25. 25

    ExcelでISO8601の日付/時刻(TimeZoneを含む)を解析する

  26. 26

    DataTimeIndexからISO8601文字列

  27. 27

    PHPでこのISO8601日付内の「T」文字を正しく認識する方法

  28. 28

    ISO8601日付形式の日付文字列を検証できません

  29. 29

    UTCからJavaへの標準ISO8601形式の入力文字列を解析する方法は?

ホットタグ

アーカイブ