tipo simple patterns para hora fecha español dato java date format locale

simple - Formato de fecha de Java para la configuración regional



tipo de dato para hora en java (2)

¿Cómo puedo encontrar el DateFormat para una DateFormat Locale determinada?


tl; dr

DateTimeFormatter.ofLocalizedDateTime( FormatStyle.FULL ) .withLocale( Locale.CANADA_FRENCH );

java.time

Las clases de fecha y hora originales ahora son heredadas y han sido sustituidas por las clases java.time.

DateTimeFormatter tiene una forma sencilla de localizar automáticamente por Locale cuando se genera una cadena para representar el valor de fecha y hora. Especifique un FormatStyle para indicar la longitud de la salida (abreviada o no).

DateTimeFormatter f = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.FULL ); f = f.withLocale( Locale.CANADA_FRENCH );

Consigue el momento actual. Observe que la Locale y la zona horaria no tienen nada que ver entre sí. Uno determina la presentación, el otro se ajusta a un tiempo particular de reloj de pared . Por lo tanto, puede tener una zona horaria en Nueva Zelanda con una Locale de japonés o, en este caso, una zona horaria en India con una presentación formateada para que la lea una persona quebequense.

ZoneId z = ZoneId.of( "Asia/Kolkata" ); ZonedDateTime zdt = ZonedDateTime.now( z );

Genera una cadena usando ese objeto formateador de localización.

String output = zdt.format( f );

Acerca de java.time

El marco java.time está integrado en Java 8 y java.time posteriores. Estas clases sustituyen a las antiguas y problemáticas clases de fecha y hora como java.util.Date , Calendar , y SimpleDateFormat .

El proyecto Joda-Time , ahora en modo de mantenimiento , aconseja la migración a las clases java.time .

Para obtener más información, consulte el Tutorial de Oracle . Y busca para muchos ejemplos y explicaciones. La especificación es JSR 310 .

¿Dónde obtener las clases java.time?

  • Java SE 8 , Java SE 9 y posteriores
    • Incorporado.
    • Parte de la API de Java estándar con una implementación en paquete.
    • Java 9 agrega algunas características menores y correcciones.
  • Java SE 6 y Java SE 7
    • Gran parte de la funcionalidad de java.time está respaldada a Java 6 y 7 en ThreeTen-Backport .
  • Android
    • El proyecto ThreeTenABP adapta ThreeTen-Backport (mencionado anteriormente) para Android específicamente.
    • Vea Cómo usar ThreeTenABP… .

El proyecto ThreeTen-Extra extiende java.time con clases adicionales. Este proyecto es un terreno de prueba para posibles adiciones futuras a java.time. Puede encontrar algunas clases útiles aquí como Interval , YearWeek , YearQuarter , y more .


DateFormat.getDateInstance(int,Locale)

Por ejemplo:

import static java.text.DateFormat.*; DateFormat f = getDateInstance(SHORT, Locale.ENGLISH);

Luego puedes usar este objeto para formatear la Date s:

String d = f.format(new Date());

Si realmente desea conocer el patrón subyacente (por ejemplo, yyyy-MMM-dd ), a continuación, obtendrá un objeto SimpleDateFormat :

SimpleDateFormat sf = (SimpleDateFormat) f; String p1 = sf.toPattern(); String p2 = sf.toLocalizedPattern();