Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I change the language of the months provided by LocalDate?

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?

like image 920
shas Avatar asked Aug 14 '18 14:08

shas


2 Answers

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);
like image 101
shas Avatar answered Oct 06 '22 01:10

shas


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);
like image 43
Bertijn Pauwels Avatar answered Oct 06 '22 01:10

Bertijn Pauwels