DateFormat 从 ''yyyy-MM-dd" 到 "dd-MM" 使用 Joda-Time

DateFormat from ''yyyy-MM-dd" to "dd-MM" using Joda-Time

我有以下代码:

DateTimeFormatter dtf = DateTimeFormat.forPattern("dd/MM");
LocalDate weekMon = new LocalDate().withWeekOfWeekyear(thisWeek).withDayOfWeek(DateTimeConstants.MONDAY);
System.out.println(weekMon.toString());
LocalDate weekFin = dtf.parseLocalDate(weekMon.toString());

并且输出正确打印日期:2015-02-02。我正在尝试将其转换为欧洲格式并忽略年份 "dd-MM" -> "02-02" 但行:

LocalDate weekFin = dtf.parseLocalDate(weekMon.toString());

不断抛出以下异常:

java.lang.IllegalArgumentException: Invalid format: "2015-02-02" is malformed at "5-02-02"

这种情况下的阵型有什么问题?。

可能您需要的是print,而不是parse

换句话说:

String dateStr = dtf.print(weekMon);

注意 使用此代码:

LocalDate weekFin = dtf.parseLocalDate(weekMon.toString());

您正在尝试使用接受 "dd/MM" 格式的字符串的格式化程序来解析 "yyyy-MM-dd" 格式的字符串。因此例外...