Heim >Java >javaLernprogramm >Wie behebt man java.text.ParseException beim Parsen von Daten in Android?

Wie behebt man java.text.ParseException beim Parsen von Daten in Android?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-19 10:18:15907Durchsuche

How to Fix java.text.ParseException When Parsing Dates in Android?

Fehler beim Parsen des Datums: java.text.ParseException mit SimpleDateFormat

Problembeschreibung

Beim Parsen einer Datumszeichenfolge mit SimpleDateFormat in Android tritt der folgende Fehler auf tritt auf:

java.text.ParseException: Unparseable date: "24 Oct 2016 7:31 pm" (at offset 3)

Lösung: Geben Sie das Gebietsschema mit SimpleDateFormat an und verwenden Sie es DateTimeFormatter für benutzerdefinierte Formate

Um den Fehler zu beheben, ist es wichtig, bei der Verwendung von SimpleDateFormat explizit ein Gebietsschema anzugeben. Dadurch wird sichergestellt, dass das Datumsformat basierend auf den Konventionen des Gebietsschemas korrekt interpretiert wird.

Darüber hinaus wird dringend empfohlen, auf die moderne Datums- und Uhrzeit-API von Java 8 umzusteigen, die eine verbesserte Funktionalität bietet und potenzielle Probleme mit veralteten Versionen beseitigt APIs wie SimpleDateFormat.

Für benutzerdefinierte Datumsformate sollte DateTimeFormatter anstelle von SimpleDateFormat verwendet werden. Es bietet eine Analyse ohne Berücksichtigung der Groß- und Kleinschreibung, unterstützt mehrere Gebietsschemas und ist insgesamt flexibler.

Codebeispiel

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);
    }
}

Standardgebietsschema-Fallstricke

Standardgebietsschemas können beim Parsen problematisch sein Datumsangaben, da diese je nach den Gebietsschemaeinstellungen des Systems variieren. Um diese Probleme zu vermeiden, geben Sie immer explizit das gewünschte Gebietsschema an.

Zusätzliche Hinweise

  • Empfehlung der Java 8-API: Die Java 8-API für Datum und Uhrzeit ist mehr effizient, flexibel und verfügt über integrierte Unterstützung für mehrere Zeitzonen. Es wird dringend empfohlen, auf diese API zu migrieren, um die Funktionalität und Wartung zu verbessern.
  • ThreeTen-Backport für Java 6 und 7: Wenn Sie kein Upgrade auf Java 8 durchführen können, sollten Sie die Verwendung von ThreeTen-Backport in Betracht ziehen Backportieren Sie die Datums- und Uhrzeitfunktionalität von Java 8 auf Java 6 und 7.

Das obige ist der detaillierte Inhalt vonWie behebt man java.text.ParseException beim Parsen von Daten in Android?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn