`uuuu` против` yyyy` в `DateTimeFormatter` кодирования шаблонов кодов в Java?

DateTimeFormatter Документация класса говорит о его форматировании кодов за год:

год 2004; 04

год 2004 года; 04

Год: Количество букв определяет минимальную ширину поля, ниже которой используется заполнение. Если количество букв равно двум, то используется сокращенная двухзначная форма. Для печати выводятся две самые правые цифры. Для синтаксического анализа это будет проанализировано с использованием базового значения 2000, что приведет к году в диапазоне от 2000 до 2099 включительно. Если количество букв меньше четырех (но не двух), то знак выводится только для отрицательных лет согласно SignStyle.NORMAL. Иначе, знак выводится, если ширина пэда превышена, согласно SignStyle.EXCEEDS_PAD.

Никаких других упоминаний о «эре».

Так в чем же разница между этими двумя кодами,u противy, year противyear-of-era?

Когда я должен использовать что-то вроде этого шаблонаuuuu-MM-dd и когдаyyyy-MM-dd при работе с датами в Java?

Кажется, пример кода написан теми, кто знаетuuuu, но почему?

Другие классы форматирования, такие как наследиеSimpleDateFormat иметь толькоyyyy, поэтому я запутался, почему java.time приносит этоuuuu для «года эры».

Ответы на вопрос(3)

Ваш ответ на вопрос