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 MEDIUM
actuado 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));
}