你的問題是關於你作爲輸入和你想要輸出什麼的混淆。
意大利使用連字符,不斜線
但有一個問題似乎是斜線。喬達時代預計連字符不會縮減。以下是使用Joda-Time 2.3的一些示例代碼,使用意大利語語言環境的中等格式向您顯示LocalDate看起來像一個字符串。
LocalDate localDate = new LocalDate(2014, 6, 24);
System.out.println("localDate: " + localDate);
DateTimeFormatter formatter = DateTimeFormat.mediumDate().withLocale(Locale.ITALY);
System.out.println("output: " + formatter.print(localDate));
運行時...
localDate: 2014-06-24
output: 24-giu-2014
定義格式化爲斜線
所以,如果你想解析/生成用斜槓,而不是預計意大利的語言環境,必須在連字符的字符串明確定義這樣一個格式化程序。
String input = "24/giu/14";
DateTimeFormatter formatterInput = DateTimeFormat.forPattern("dd/MMM/yy").withLocale(Locale.ITALY);
LocalDate localDate = formatterInput.parseLocalDate(input);
System.out.println("localDate: " + localDate);
DateTimeFormatter formatterOutput = DateTimeFormat.forPattern("dd/MM/yy").withLocale(Locale.ITALY); // Locale not needed here, but it's a good habit to specify.
String output = formatterOutput.print(localDate);
System.out.println("Output: " + output);
當運行...
localDate: 2014-06-24
Output: 24/06/14
順便說一句,用兩個數字表示年份是自討苦吃恕我直言。
你的問題很混亂。您的輸入究竟是什麼?你想要什麼作爲你的輸出? –