Problem:
Bei Verwendung von SimpleDateFormat Beim Analysieren von Daten kann der Fehler auftreten „java.text.ParseException: Unparseable date“, insbesondere wenn das Gebietsschema nicht angegeben ist.
Erklärung:
SimpleDateFormat erfordert ein Gebietsschema, um Datumsangaben korrekt zu analysieren. Wenn keine angegeben ist, wird das Standardgebietsschema des Systems verwendet, das möglicherweise nicht mit dem analysierten Format übereinstimmt.
Lösung:
SimpleDateFormat dtfmt = new SimpleDateFormat("dd MMM yyyy hh:mm a", Locale.ENGLISH);
Demo mit DateTimeFormatter:
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Locale; 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").withLocale(Locale.ENGLISH); LocalDateTime ldt = LocalDateTime.parse(strDateTime, dtf); System.out.println(ldt); // prints 2016-10-24T19:31 } }
Hinweis:
Das obige ist der detaillierte Inhalt vonWarum wirft SimpleDateFormat ein „nicht analysierbares Datum' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!