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