Reputation: 418
I need to find the current month and print it. I have the following code:
this.currentDate=LocalDate.now();
this.month = this.currentDate.getMonth();
The problem is that the month is in English and I need to print it in French, to match the rest of the website language. How can I select the language of the month provided by the LocalDate.now()
method without needing to do a manual translation each time I need to display it?
Upvotes: 9
Views: 8531
Reputation: 157
In my case there was not the ENUM country option then I used default and its solved:
LocalDate.now().getMonth().getDisplayName(TextStyle.FULL, Locale.getDefault())
Upvotes: 0
Reputation: 418
You can convert the Month
type into a String
using getDisplayName()
, which can change the locale to French as follows:
this.currentDate = LocalDate.now();
this.month = this.currentDate.getMonth().getDisplayName(TextStyle.FULL, Locale.FRANCE);
Upvotes: 12
Reputation: 585
You can use the DateTimeFormatter
to create a formatter for French as follows:
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEEE, dd MMMM, yyyy", Locale.FRENCH);
final String month = LocalDate.now().format(formatter);
Upvotes: 6