d/M/yy
のようなパターンを使用している場合(例えば、DateTimeFormatter.ofPattern(pattern);
を使用して構文解析に使用する)、2文字の年をすべて20xxと解釈します。たとえば、13/5/99
のような文字列を次のように解析します。 と解釈されますが、私の場合は間違っています(これは1999年のものです)。Java 8 DateTimeFormatterで2文字の年を解析するための基準日を変更するにはどうすればよいですか?
私のアプリケーションでは、OCRの文書の日付を解析しようとしています。 90年代のため、以前の80年前と20年後の日付を解釈する古いSimpleDateFormatの動作は私にはうまく合っていますが、さまざまな理由から、日付解析のロジック全体を新しいものに切り替えることを検討していますJava 8 DateTimeFormatters。
Javaソースコードを見ると、これはすべて定数ReducedPrinterParser.BASE_DATE
に関連して解釈されていますが、パターンから自分のフォーマッタを構築するときに使用する値を変更する方法はありません。これは単純に可能ではないのですか、または2文字の年を解析するための振る舞いを指定する可能性を忘れていますか?
d/M/yy
パターンのために、たとえば、カスタムフォーマッタを作成することができます
[文字列をパースすることの可能な重複現地日は希望の世紀を使用していない](http://stackoverflow.com/questions/29490893/parsing-string-to-local-date-doesnt-use-desired-century) –