Java DateTimeFormatter.of模式语言选项

Java DateTimeFormatter.of模式语言选项,java,Java,如何更改DateTimeFormatter.ofPatterndd-MM-yyyy中的语言。 我尝试过Windows语言设置,但似乎没有任何关联。您可以这样更改语言: DateTimeFormatter.ofPatterndd-MM-yyyy,Locale.FRENCH; 首先,必须指定两个以上的MM字母。2表示月份编号,而不是名称。因此,在添加更多字母之前,不涉及任何语言 DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd-MMM-uu

如何更改DateTimeFormatter.ofPatterndd-MM-yyyy中的语言。
我尝试过Windows语言设置,但似乎没有任何关联。

您可以这样更改语言:

DateTimeFormatter.ofPatterndd-MM-yyyy,Locale.FRENCH;
首先,必须指定两个以上的MM字母。2表示月份编号,而不是名称。因此,在添加更多字母之前,不涉及任何语言

DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd-MMM-uuuu" ) ;
其次,通过指定语言环境对象来指定人类语言和文化规范

提示:让java.time为您自动本地化,而不是硬编码特定格式

LocalDate ld = LocalDate.now( ZoneId.of( "America/Montreal" ) ) ;
Locale locale = Locale.CANADA_FRENCH ;
DateTimeFormatter f = DateTimeFormatter.ofLocalizedDate( FormatStyle.FULL ).withLocale( locale ) ;
String output ld.format( f ) ;

谢谢你的两个好答案。
LocalDate ld = LocalDate.now( ZoneId.of( "America/Montreal" ) ) ;
Locale locale = Locale.CANADA_FRENCH ;
DateTimeFormatter f = DateTimeFormatter.ofLocalizedDate( FormatStyle.FULL ).withLocale( locale ) ;
String output ld.format( f ) ;