Wie kann ein Datum im Format MM / TT / JJ am besten analysiert und an das aktuelle / vorherige Jahrhundert angepasst werden?

Einer unserer Kunden möchte ein Datum mit nur 2 Stellen für die Jahreskomponente eingeben können. Da das Datum in der Vergangenheit liegt, soll es für das vorherige Jahrhundert funktionieren, wenn das zweistellige Jahr nach dem aktuellen Jahr liegt, aber für das aktuelle Jahrhundert, wenn das zweistellige Jahr gleich oder kleiner als das aktuelle Jahr ist.

Stand heute 30.10.2008

01/01/01 = 01/01/2001

01/01/09 = 01/01/1909

Dies ist eine seltsame Anforderung, und ich habe das Problem gelöst. Meine Lösung gefällt mir einfach nicht. Es fühlt sich so an, als gäbe es einen besseren Weg, dies zu tun.

Danke für die Hilfe.

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

Antworten auf die Frage(7)

Ihre Antwort auf die Frage