5

文字列からlocaldate(JODA TIME)に変換しようとしていますが、エラーが発生します

String theDate = w.getPSDate();  == 6/03/2013
LocalDate ld = new LocalDate(theDate);
System.out.println(ld);

何らかの理由で、日付の代わりに文字列を使用する必要があります。日付を(2013年6月3日)として印刷したい。コードのエラーは何ですか?

エラー

Exception in thread "main" java.lang.IllegalArgumentException: Invalid format: "06/03/2013" is malformed at "/03/2013"
at org.joda.time.format.DateTimeFormatter.parseMillis(DateTimeFormatter.java:747)
at org.joda.time.convert.StringConverter.getPartialValues(StringConverter.java:87)
at org.joda.time.LocalDate.<init>(LocalDate.java:406)
at org.joda.time.LocalDate.<init>(LocalDate.java:354)
at Date.GetDate.main(GetDate.java:94)

Javaの結果:1

4

1 に答える 1

7

DateTimeFormatter代わりにaを使用します。

// Are you sure it's 6/03/2013 rather than 06/03/2013? dd would be nicer...
DateTimeFormatter formatter = DateTimeFormat.forPattern("d/MM/yyyy");
LocalDate date = formatter.parseLocalDate(text);
于 2013-03-12T10:10:09.177 に答える