Один из наших клиентов хочет иметь возможность вводить дату только с 2 цифрами для компонента года. Дата будет в прошлом, поэтому мы хотим, чтобы она работала в предыдущем столетии, если год с двумя цифрами находится после текущего года, но работает в текущем столетии, если год с двумя цифрами равен или меньше текущего года.
на сегодня 10/30/2008
01/01/01 = 01/01/2001
01/01/09 = 01/01/1909
Это странное требование, и я решил проблему, мне просто не нравится мое решение.
Такое ощущение, что есть лучший способ сделать это.
Спасибо за помощь.
public static String stupidDate(String dateString)
{
String twoDigitYear = StringUtils.right(dateString, 2);
String newDate = StringUtils.left(dateString, dateString.length() - 2);
int year = NumberUtils.toInt(twoDigitYear);
Calendar c = GregorianCalendar.getInstance();
int centuryInt = c.get(Calendar.YEAR) - year;
newDate = newDate + StringUtils.left(Integer.toString(centuryInt), 2) + twoDigitYear;
return newDate;
}