Это не проблема 2000 года. Это просто ошибка пользователя. Вы попросили пользователя ввести dd.MM.yyyy
, но пользователь ввел dd.MM.yy
. Это просто представлено как последние 2 цифры 4-значного года. То же самое произойдет, если пользователь введет одну или три цифры как год.
Если вы исправите свой шаблон как dd.MM.yy
, вы увидите, что он работает для dd.MM.yy
ввода, как и следовало ожидать.
<s:convertDateTime type="date" pattern="dd.MM.yy"/>
Год 11
интерпретируется как 2011
, а не 1911
. Видите, проблем с Y2K нет.
Если вы хотите разрешить оба шаблона дат, я бы предложил создать пользовательский конвертер, который выполняет свою работу правильно. Вы можете найти исходный пример в моем ответе на этот вопрос: как проверить введенную дату по нескольким шаблонам?