Ich habe versucht, eine Datumszeichenfolge mit jodatime mit einem führenden '+' vor dem yyyy
-Teil zu parsen. Ich habe erwartet, dass ein Fehler ausgelöst wird, aber es hat tatsächlich keinen Fehler ausgelöst. Ich habe Ausgaben, die keinen Sinn ergeben:
Kann jemand erklären, warum das passiert? Ich erwarte entweder eine Ausnahme, was bedeutet, dass das '+' Zeichen nicht erlaubt ist, oder es sollte 2013 als einfach 2013 interpretieren, was es im letzten Fall zu tun scheint. Aber was ist der Deal mit 20130 in Fall 2 und 3 und Monat = 10 in Fall 2?
Nachdem ich den joda-time code durchgegangen bin, konnte ich das Problem eingrenzen. Es wurde aufgrund einer anomalen Erhöhung des Codes verursacht. Ich habe ein Problem hier geöffnet. Ich habe auch ein Update fertig hier . Ich werde eine Pull-Anfrage erheben, sobald ich eine Bestätigung erhalten habe, ob es der richtige Weg ist, um es zu beheben.
Wenn Sie eine Ausnahme auf +
sign auslösen möchten, können Sie DateTimeFormatterBuilder
Z.B. für das Format yyyyMMdd
Auch dieses Muster ist bereits in Standardmustern vorhanden:
ISODateTimeFormat :: basicDate ()
BEARBEITEN
Aber es gibt seltsames Verhalten im Falle der Verwendung von appendFixedSignedDecimal Methode:
Ich denke, das ist ein Problem in Joda lib, weil
%Vor%funktioniert wie erwartet
%Vor%(Dieser Fall ist in Unit Tests für die joda Bibliothek)