Obtener formato de fecha / hora específica para la localización en Java

Jhutan Debnath:

Tengo caso de uso en Java donde queremos obtener la fecha específica para la localización. Estoy usando DateFormat.getDateInstance

final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM,
                Locale.forLanguageTag(locale)));

Esto se traduce en las fechas, pero ja-JP esto se traduce la fecha "17 de enero de 2019" a "01/17/2019" pero necesito algo así como "2019 年 1 月 17 日". Para todos los demás lugares esto se traduce correctamente la fecha.

Por favor, deje saber si hay otro método para conseguir esto.

receptor:

Esto funcionó para mí:

public static void main(String[] args) throws IOException {
    final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL, Locale.JAPAN);
    Date today = new Date();
    System.out.printf("%s%n", dateFormat.format(today));
}

y MEDIUMactuado exactamente como usted dijo

UPD: o el uso de nuevos ZonedDataTime como sugiere Michael Gantman:

public static void main(String[] args) throws IOException {
    ZonedDateTime zoned = ZonedDateTime.now();
    DateTimeFormatter pattern = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).withLocale(Locale.JAPAN);
    System.out.println(zoned.format(pattern));
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=178626&siteId=1
Recomendado
Clasificación