мы запускаем REST-WebService, который потребляет различные данные, мой текущий номер принадлежит к дате, полученные в качестве строки и анализируется с помощью java.text.SimpleDateFormat (Java 8):«Reverse» неправильно разобраны дата
Мы получил много (> 50 тыс.) «неправильных» форматированных строк, которые в любом случае анализировались SimpleDateFormat.
В SimpleDateFormat настроен шаблон «yyyy-MM-dd». Мы получили Strings наоборот: «dd-MM-yyyy».
Например, строка «07-07-1950» была разобрана до даты «0012-10-31» (начиная с июля в 7-м году, добавлено в течение 1950 дней).
Мы исправили реализацию, поэтому эти строки теперь разбираются, как ожидалось. Но у нас есть все коррумпированные даты в системе. Последний вопрос:
Есть ли способ заключить с даты «0012-10-31» на возможные исходные входы (например, «07-07-1950», «07-06-1980» и, возможно, больше ...)?
С наилучшими пожеланиями
Кстати, хлопотно старые классы даты и времени, такие как [ 'java.util.Date'] (https://docs.oracle.com/javase/ 9/docs/api/java/util/Date.html), ['java.util.Calendar'] (https://docs.oracle.com/javase/9/docs/api/java/util/Calenda r.html) и 'java.text.SimpleDateFormat' теперь [наследие] (https://en.wikipedia.org/wiki/Legacy_system), вытесненное [* java.time *] (https: // docs .oracle.com/javase/9/docs/api/java/time/package-summary.html), встроенные в Java 8 и Java 9. См. [* Tutorial * by Oracle] (https://docs.oracle.com /javase/tutorial/datetime/TOC.html). –