ホームページ >Java >&#&チュートリアル >Android で日付を解析するときに java.text.ParseException を修正する方法?
Android で SimpleDateFormat を使用して日付文字列を解析すると、次のエラーが発生します発生:
java.text.ParseException: Unparseable date: "24 Oct 2016 7:31 pm" (at offset 3)
エラーを解決するには、SimpleDateFormat を使用するときにロケールを明示的に指定することが重要です。これにより、日付形式がロケールの規則に基づいて正しく解釈されるようになります。
さらに、最新の Java 8 日付と時刻 API に切り替えることを強くお勧めします。これにより、機能が向上し、古い日付と時刻の潜在的な問題が排除されます。 SimpleDateFormat のような API。
カスタム日付形式の場合は、SimpleDateFormat の代わりに DateTimeFormatter を使用する必要があります。大文字と小文字を区別しない解析を提供し、複数のロケールをサポートし、全体的により柔軟です。
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { String strDateTime = "24 Oct 2016 7:31 pm"; DateTimeFormatter dtf = DateTimeFormatter.ofPattern("d MMM uuuu h:m a", Locale.ENGLISH); LocalDateTime ldt = LocalDateTime.parse(strDateTime, dtf); System.out.println(ldt); } }
デフォルト ロケールは解析時に問題が発生する可能性があります。日付はシステムのロケール設定によって異なるためです。これらの問題を回避するには、常に目的のロケールを明示的に指定してください。
以上がAndroid で日付を解析するときに java.text.ParseException を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。