Uno de nuestros clientes desea poder ingresar una fecha con solo 2 dígitos para el componente del año. La fecha estará en el pasado, por lo que queremos que funcione durante el siglo anterior si el año de 2 dígitos es posterior al año actual, pero funciona para el siglo actual si el año de 2 dígitos es igual o menor que el año actual.¿Cuál es la mejor manera de analizar una fecha en formato MM/DD/YY y ajustarla al siglo actual/anterior?
a partir de hoy 10/30/2008
01/01/01 = 01/01/2001
01/01/09 = 01/01/1909
Esta es una extraña requisito, y resolví el problema, simplemente no me gusta mi solución. Parece que hay una mejor manera de hacerlo.
Gracias por la ayuda.
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;
}
¡Esto es casi exactamente lo que terminé haciendo! Se traduce fácilmente a java. ¡Gracias! – ScArcher2