5

我正在尝试从字符串转换为 localdate(JODA TIME) 但它给了我错误

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

出于某种原因,我必须使用字符串而不是日期。我想将日期打印为 (06/03/2013)。代码中的错误是什么?

错误

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

使用 aDateTimeFormatter代替:

// 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 回答