universidad programar novato más mega horas experto empezar como club cero java date-formatting gregorian-calendar

programar - universidad java 2: spring, hibernate, struts, jboss y más! mega



Visualización de los dos últimos dígitos del año en curso en Java (3)

¿Cómo puedo mostrar solo los dos últimos dígitos del año actual sin usar ningún algoritmo de subcadena o cualquier biblioteca de terceros?

He intentado el siguiente método y le dio un año de cuatro dígitos. Quiero saber si hay opciones de formato de fecha disponibles para obtener el año actual en formato de dos dígitos.

Calendar.getInstance().get(Calendar.YEAR);


Esta es una de una sola línea:

System.out.println(Year.now().format(DateTimeFormatter.ofPattern("uu")));

Estoy usando java.time.Year , una de varias clases de fecha y hora introducidas en Java 8 (y también backported a Java 6 y 7). Este es solo un pequeño ejemplo de los muchos en que las nuevas clases son más convenientes y conducen a un código más claro que las clases antiguas, Calendar y SimpleDateFormat .

Si solo quería el número de dos dígitos, no como una cadena, puede usar:
Year.now().getValue() % 100 .

Las otras respuestas fueron buenas en 2013, pero los años han pasado. :-)


Puede usar un SimpleDateFormat para formatear una fecha según sus requisitos.

DateFormat df = new SimpleDateFormat("yy"); // Just the year, with 2 digits String formattedDate = df.format(Calendar.getInstance().getTime()); System.out.println(formattedDate);

Edición: Dependiendo de las necesidades / requisitos, se puede utilizar el enfoque sugerido por mí o el sugerido por Robin . Idealmente, cuando se trata de una gran cantidad de manipulaciones con la fecha, es mejor utilizar un enfoque DateFormat .


Simplemente puede utilizar el operador de módulo:

int lastTwoDigits = Calendar.getInstance().get(Calendar.YEAR) % 100;

Edición: usar un SimpleDateFormat , como propuso @RJ, es la mejor solución si desea que el resultado sea una cadena. Si necesitas un entero, usa modulo.