Qual é a melhor maneira de analisar uma data no formato MM / DD / AA e ajustá-la ao século atual / anterior?

Um de nossos clientes deseja poder inserir uma data com apenas 2 dígitos para o componente do ano. A data será no passado, portanto, queremos que ela funcione no século anterior se o ano de 2 dígitos for posterior ao ano atual, mas funcione no século atual se o ano de 2 dígitos for igual ou menor que o ano atual.

a partir de hoje 30/10/2008

01/01/01 = 01/01/2001

01/01/09 = 01/01/1909

Esse é um requisito estranho, e resolvi o problema, simplesmente não gosto da minha solução. Parece que há uma maneira melhor de fazer isso.

Obrigado pela ajuda.

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;
}

questionAnswers(6)

yourAnswerToTheQuestion