Ich weiß, dass diese Frage ziemlich oft gestellt wird, und offensichtlich können Sie kein beliebiges Datum analysieren. Ich finde jedoch, dass die Python-Dateutil-Bibliothek in der Lage ist, jedes Datum zu analysieren, das ich darauf wirfe, während es absolut keinen Aufwand erfordert, eine Datumsformatzeichenfolge herauszufinden. Joda-Zeit wird immer als großartiger Java-Datums-Parser verkauft, aber Sie müssen immer noch entscheiden, in welchem Format Ihr Datum vorliegt, bevor Sie ein Format auswählen (oder ein eigenes erstellen). Sie können nicht einfach DateFormatter.parse (mydate) aufrufen und auf magische Weise ein Date-Objekt zurückerhalten.
Zum Beispiel wird das Datum "Mi Mar 04 05:09:06 GMT-06: 00 2009" ordnungsgemäß mit Python-Dateutil analysiert:
import dateutil.parser
print dateutil.parser.parse('Wed Mar 04 05:09:06 GMT-06:00 2009')
Der folgende Joda-Zeitaufruf funktioniert jedoch nicht:
String date = "Wed Mar 04 05:09:06 GMT-06:00 2009";
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
DateTime dt = fmt.parseDateTime(date);
System.out.println(date);
Das Erstellen eines eigenen DateTimeFormatter macht den Zweck zunichte, da dies mit der Verwendung von SimpleDateFormatter mit der richtigen Formatzeichenfolge identisch zu sein scheint.
Gibt es eine vergleichbare Möglichkeit, ein Datum in Java zu analysieren, wie z. B. Python-Dateutil? Fehler sind mir egal, ich möchte nur, dass sie größtenteils perfekt sind.
03/04/2010
- 3. April 2010 oder 4. März 2010?