Bonjour,
d'abord quelque chose qui fonctionne : si je fais

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
String myDayString = "18 05 2014";
			try {
			    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MM yyyy");
			    LocalDate myDayLocalDate = LocalDate.parse(myDayString, formatter);
			    System.out.printf("Successfully parsed String %s, date is %s%n", myDayString, myDayLocalDate);
 
			} catch (DateTimeParseException ex) {
			    System.out.printf("%s is not parsable!%n", myDayString);
			    ex.printStackTrace();
			}
j'obtiens correctement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Successfully parsed String 18 05 2014, date is 2014-05-18
Mais bizarrement, si je veux utiliser les représentations littérales des mois, en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
String myDayString = "18 Mar 2014";
			try {
			    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MMM yyyy");
			    LocalDate myDayLocalDate = LocalDate.parse(myDayString, formatter);
			    System.out.printf("Successfully parsed String %s, date is %s%n", myDayString, myDayLocalDate);
 
			} catch (DateTimeParseException ex) {
			    System.out.printf("%s is not parsable!%n", myDayString);
			    ex.printStackTrace();
			}
Il me vient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
18 Mar 2014 is not parsable!
java.time.format.DateTimeParseException: Text '18 Mar 2014' could not be parsed at index 3
	at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1947)
	at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1849)
	at java.time.LocalDate.parse(LocalDate.java:400)
...
Pourquoi donc ?